Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js NodeJS-.save()不是函数。无法通过mongoose创建集合_Node.js_Mongodb_Express_Mongoose_Mongoose Schema - Fatal编程技术网

Node.js NodeJS-.save()不是函数。无法通过mongoose创建集合

Node.js NodeJS-.save()不是函数。无法通过mongoose创建集合,node.js,mongodb,express,mongoose,mongoose-schema,Node.js,Mongodb,Express,Mongoose,Mongoose Schema,我还面临.save()不是一个函数错误,但我已经经历了大多数类似的SO问题,并尝试了各自的答案,但都是徒劳的。但是通过我的终端,我能够创建集合并保存一个。另外,find()也在工作。下面是我的代码: Model->clientUser.js var mongoose = require('mongoose'); var ClientUser = new mongoose.Schema({ firebaseUID :{type: String}, userName : { ty

我还面临.save()不是一个函数错误,但我已经经历了大多数类似的SO问题,并尝试了各自的答案,但都是徒劳的。但是通过我的终端,我能够创建集合并保存一个。另外,find()也在工作。下面是我的代码:

Model->clientUser.js

var mongoose = require('mongoose');

var ClientUser = new mongoose.Schema({

    firebaseUID :{type: String},
    userName : { type : String},
    displayName : { type : String}

});
ClientUser.index({firebaseUID: 1}, {unique: true});
module.exports = {
    ClientUser : ClientUser
};
'use strict';
var mongoose = require('mongoose');
var ClientUser = mongoose.model('ClientUser');
var getNewClientUserModel = function () {
  return mongoose.model('ClientUser');
};
module.exports = {
        getNewClientUserModel : getNewClientUserModel
};
'use strict';
var dependency = require('./../../dependency');
var _ = dependency.getLodash();

var add = function (request, response) {
    var firebaseUID = request.body.firebaseUID;
    var userName = request.body.userName;
    var displayName = request.body.displayName;
    var newClientUser= dependency.getNewClientUserModel();
    newClientUser.firebaseUID = firebaseUID;
    newClientUser.userName = userName;
    newClientUser.displayName = displayName;

    if (!firebaseUID || !userName) {
        response.send(400);
        return null;
    } else {
        newClientUser.save(function (error,doc) {
            if (!_.isEmpty(error)) {
                response.send(500, {'message': 'Error in adding the Category', error: error});
            } else {
                response.send(200);
            }
            return null;
        });
    }
};

module.exports = {
    add: add
};
var mongoose = require('mongoose');
mongoose.model('ClientUser', require('./models/clientUser').ClientUser);
/*
 *Routes importing
 */
var ClientUser = {
    'add' : require('./routes/clientuser/add').add
};
var mongoose = require('mongoose');

var clientUserSchema = new mongoose.Schema({
    firebaseUID :{type: String},
    userName : { type : String},
    displayName : { type : String}
});
clientUserSchema.index({firebaseUID: 1}, {unique: true});
var ClientUser = mongoose.model('ClientUser', clientUserSchema);
module.exports = {
    ClientUser : ClientUser
};
'use strict';
 var ClientUser = require('./clientUser').ClientUser;

 var add = function (request, response) {
     var firebaseUID = request.body.firebaseUID;
     var userName = request.body.userName;
     var displayName = request.body.displayName;
     var newClientUser = new ClientUser({
         firebaseUID: firebaseUID,
         userName: userName,
         displayName: displayName
     });

     if (!firebaseUID || !userName) {
       return response.send(400);
      }
      newClientUser.save(function (error, doc) {
         if (error) {
             return response.send(500, { 'message': 'Error in adding the Category', error: error });
          }
          return response.sendStatus(200);
      });

    };

module.exports = {
  add: add
};
/*
 *Routes importing
 */
var ClientUser = {
    'add' : require('./routes/clientuser/add').add
};
dependency.js

var mongoose = require('mongoose');

var ClientUser = new mongoose.Schema({

    firebaseUID :{type: String},
    userName : { type : String},
    displayName : { type : String}

});
ClientUser.index({firebaseUID: 1}, {unique: true});
module.exports = {
    ClientUser : ClientUser
};
'use strict';
var mongoose = require('mongoose');
var ClientUser = mongoose.model('ClientUser');
var getNewClientUserModel = function () {
  return mongoose.model('ClientUser');
};
module.exports = {
        getNewClientUserModel : getNewClientUserModel
};
'use strict';
var dependency = require('./../../dependency');
var _ = dependency.getLodash();

var add = function (request, response) {
    var firebaseUID = request.body.firebaseUID;
    var userName = request.body.userName;
    var displayName = request.body.displayName;
    var newClientUser= dependency.getNewClientUserModel();
    newClientUser.firebaseUID = firebaseUID;
    newClientUser.userName = userName;
    newClientUser.displayName = displayName;

    if (!firebaseUID || !userName) {
        response.send(400);
        return null;
    } else {
        newClientUser.save(function (error,doc) {
            if (!_.isEmpty(error)) {
                response.send(500, {'message': 'Error in adding the Category', error: error});
            } else {
                response.send(200);
            }
            return null;
        });
    }
};

module.exports = {
    add: add
};
var mongoose = require('mongoose');
mongoose.model('ClientUser', require('./models/clientUser').ClientUser);
/*
 *Routes importing
 */
var ClientUser = {
    'add' : require('./routes/clientuser/add').add
};
var mongoose = require('mongoose');

var clientUserSchema = new mongoose.Schema({
    firebaseUID :{type: String},
    userName : { type : String},
    displayName : { type : String}
});
clientUserSchema.index({firebaseUID: 1}, {unique: true});
var ClientUser = mongoose.model('ClientUser', clientUserSchema);
module.exports = {
    ClientUser : ClientUser
};
'use strict';
 var ClientUser = require('./clientUser').ClientUser;

 var add = function (request, response) {
     var firebaseUID = request.body.firebaseUID;
     var userName = request.body.userName;
     var displayName = request.body.displayName;
     var newClientUser = new ClientUser({
         firebaseUID: firebaseUID,
         userName: userName,
         displayName: displayName
     });

     if (!firebaseUID || !userName) {
       return response.send(400);
      }
      newClientUser.save(function (error, doc) {
         if (error) {
             return response.send(500, { 'message': 'Error in adding the Category', error: error });
          }
          return response.sendStatus(200);
      });

    };

module.exports = {
  add: add
};
/*
 *Routes importing
 */
var ClientUser = {
    'add' : require('./routes/clientuser/add').add
};
clientUser->add.js

var mongoose = require('mongoose');

var ClientUser = new mongoose.Schema({

    firebaseUID :{type: String},
    userName : { type : String},
    displayName : { type : String}

});
ClientUser.index({firebaseUID: 1}, {unique: true});
module.exports = {
    ClientUser : ClientUser
};
'use strict';
var mongoose = require('mongoose');
var ClientUser = mongoose.model('ClientUser');
var getNewClientUserModel = function () {
  return mongoose.model('ClientUser');
};
module.exports = {
        getNewClientUserModel : getNewClientUserModel
};
'use strict';
var dependency = require('./../../dependency');
var _ = dependency.getLodash();

var add = function (request, response) {
    var firebaseUID = request.body.firebaseUID;
    var userName = request.body.userName;
    var displayName = request.body.displayName;
    var newClientUser= dependency.getNewClientUserModel();
    newClientUser.firebaseUID = firebaseUID;
    newClientUser.userName = userName;
    newClientUser.displayName = displayName;

    if (!firebaseUID || !userName) {
        response.send(400);
        return null;
    } else {
        newClientUser.save(function (error,doc) {
            if (!_.isEmpty(error)) {
                response.send(500, {'message': 'Error in adding the Category', error: error});
            } else {
                response.send(200);
            }
            return null;
        });
    }
};

module.exports = {
    add: add
};
var mongoose = require('mongoose');
mongoose.model('ClientUser', require('./models/clientUser').ClientUser);
/*
 *Routes importing
 */
var ClientUser = {
    'add' : require('./routes/clientuser/add').add
};
var mongoose = require('mongoose');

var clientUserSchema = new mongoose.Schema({
    firebaseUID :{type: String},
    userName : { type : String},
    displayName : { type : String}
});
clientUserSchema.index({firebaseUID: 1}, {unique: true});
var ClientUser = mongoose.model('ClientUser', clientUserSchema);
module.exports = {
    ClientUser : ClientUser
};
'use strict';
 var ClientUser = require('./clientUser').ClientUser;

 var add = function (request, response) {
     var firebaseUID = request.body.firebaseUID;
     var userName = request.body.userName;
     var displayName = request.body.displayName;
     var newClientUser = new ClientUser({
         firebaseUID: firebaseUID,
         userName: userName,
         displayName: displayName
     });

     if (!firebaseUID || !userName) {
       return response.send(400);
      }
      newClientUser.save(function (error, doc) {
         if (error) {
             return response.send(500, { 'message': 'Error in adding the Category', error: error });
          }
          return response.sendStatus(200);
      });

    };

module.exports = {
  add: add
};
/*
 *Routes importing
 */
var ClientUser = {
    'add' : require('./routes/clientuser/add').add
};
app.js

var mongoose = require('mongoose');

var ClientUser = new mongoose.Schema({

    firebaseUID :{type: String},
    userName : { type : String},
    displayName : { type : String}

});
ClientUser.index({firebaseUID: 1}, {unique: true});
module.exports = {
    ClientUser : ClientUser
};
'use strict';
var mongoose = require('mongoose');
var ClientUser = mongoose.model('ClientUser');
var getNewClientUserModel = function () {
  return mongoose.model('ClientUser');
};
module.exports = {
        getNewClientUserModel : getNewClientUserModel
};
'use strict';
var dependency = require('./../../dependency');
var _ = dependency.getLodash();

var add = function (request, response) {
    var firebaseUID = request.body.firebaseUID;
    var userName = request.body.userName;
    var displayName = request.body.displayName;
    var newClientUser= dependency.getNewClientUserModel();
    newClientUser.firebaseUID = firebaseUID;
    newClientUser.userName = userName;
    newClientUser.displayName = displayName;

    if (!firebaseUID || !userName) {
        response.send(400);
        return null;
    } else {
        newClientUser.save(function (error,doc) {
            if (!_.isEmpty(error)) {
                response.send(500, {'message': 'Error in adding the Category', error: error});
            } else {
                response.send(200);
            }
            return null;
        });
    }
};

module.exports = {
    add: add
};
var mongoose = require('mongoose');
mongoose.model('ClientUser', require('./models/clientUser').ClientUser);
/*
 *Routes importing
 */
var ClientUser = {
    'add' : require('./routes/clientuser/add').add
};
var mongoose = require('mongoose');

var clientUserSchema = new mongoose.Schema({
    firebaseUID :{type: String},
    userName : { type : String},
    displayName : { type : String}
});
clientUserSchema.index({firebaseUID: 1}, {unique: true});
var ClientUser = mongoose.model('ClientUser', clientUserSchema);
module.exports = {
    ClientUser : ClientUser
};
'use strict';
 var ClientUser = require('./clientUser').ClientUser;

 var add = function (request, response) {
     var firebaseUID = request.body.firebaseUID;
     var userName = request.body.userName;
     var displayName = request.body.displayName;
     var newClientUser = new ClientUser({
         firebaseUID: firebaseUID,
         userName: userName,
         displayName: displayName
     });

     if (!firebaseUID || !userName) {
       return response.send(400);
      }
      newClientUser.save(function (error, doc) {
         if (error) {
             return response.send(500, { 'message': 'Error in adding the Category', error: error });
          }
          return response.sendStatus(200);
      });

    };

module.exports = {
  add: add
};
/*
 *Routes importing
 */
var ClientUser = {
    'add' : require('./routes/clientuser/add').add
};

您的问题在
/models/clientUser.js
中,您正在导出模式。我的建议是导出该模块的模型表单。另外,我不理解
dependency.js
的提议,为什么不直接在add处理程序中使用该模型呢?下面是一个应该有效的建议

模型/clientUser.js

var mongoose = require('mongoose');

var ClientUser = new mongoose.Schema({

    firebaseUID :{type: String},
    userName : { type : String},
    displayName : { type : String}

});
ClientUser.index({firebaseUID: 1}, {unique: true});
module.exports = {
    ClientUser : ClientUser
};
'use strict';
var mongoose = require('mongoose');
var ClientUser = mongoose.model('ClientUser');
var getNewClientUserModel = function () {
  return mongoose.model('ClientUser');
};
module.exports = {
        getNewClientUserModel : getNewClientUserModel
};
'use strict';
var dependency = require('./../../dependency');
var _ = dependency.getLodash();

var add = function (request, response) {
    var firebaseUID = request.body.firebaseUID;
    var userName = request.body.userName;
    var displayName = request.body.displayName;
    var newClientUser= dependency.getNewClientUserModel();
    newClientUser.firebaseUID = firebaseUID;
    newClientUser.userName = userName;
    newClientUser.displayName = displayName;

    if (!firebaseUID || !userName) {
        response.send(400);
        return null;
    } else {
        newClientUser.save(function (error,doc) {
            if (!_.isEmpty(error)) {
                response.send(500, {'message': 'Error in adding the Category', error: error});
            } else {
                response.send(200);
            }
            return null;
        });
    }
};

module.exports = {
    add: add
};
var mongoose = require('mongoose');
mongoose.model('ClientUser', require('./models/clientUser').ClientUser);
/*
 *Routes importing
 */
var ClientUser = {
    'add' : require('./routes/clientuser/add').add
};
var mongoose = require('mongoose');

var clientUserSchema = new mongoose.Schema({
    firebaseUID :{type: String},
    userName : { type : String},
    displayName : { type : String}
});
clientUserSchema.index({firebaseUID: 1}, {unique: true});
var ClientUser = mongoose.model('ClientUser', clientUserSchema);
module.exports = {
    ClientUser : ClientUser
};
'use strict';
 var ClientUser = require('./clientUser').ClientUser;

 var add = function (request, response) {
     var firebaseUID = request.body.firebaseUID;
     var userName = request.body.userName;
     var displayName = request.body.displayName;
     var newClientUser = new ClientUser({
         firebaseUID: firebaseUID,
         userName: userName,
         displayName: displayName
     });

     if (!firebaseUID || !userName) {
       return response.send(400);
      }
      newClientUser.save(function (error, doc) {
         if (error) {
             return response.send(500, { 'message': 'Error in adding the Category', error: error });
          }
          return response.sendStatus(200);
      });

    };

module.exports = {
  add: add
};
/*
 *Routes importing
 */
var ClientUser = {
    'add' : require('./routes/clientuser/add').add
};
路由/clientuser/add.js

var mongoose = require('mongoose');

var ClientUser = new mongoose.Schema({

    firebaseUID :{type: String},
    userName : { type : String},
    displayName : { type : String}

});
ClientUser.index({firebaseUID: 1}, {unique: true});
module.exports = {
    ClientUser : ClientUser
};
'use strict';
var mongoose = require('mongoose');
var ClientUser = mongoose.model('ClientUser');
var getNewClientUserModel = function () {
  return mongoose.model('ClientUser');
};
module.exports = {
        getNewClientUserModel : getNewClientUserModel
};
'use strict';
var dependency = require('./../../dependency');
var _ = dependency.getLodash();

var add = function (request, response) {
    var firebaseUID = request.body.firebaseUID;
    var userName = request.body.userName;
    var displayName = request.body.displayName;
    var newClientUser= dependency.getNewClientUserModel();
    newClientUser.firebaseUID = firebaseUID;
    newClientUser.userName = userName;
    newClientUser.displayName = displayName;

    if (!firebaseUID || !userName) {
        response.send(400);
        return null;
    } else {
        newClientUser.save(function (error,doc) {
            if (!_.isEmpty(error)) {
                response.send(500, {'message': 'Error in adding the Category', error: error});
            } else {
                response.send(200);
            }
            return null;
        });
    }
};

module.exports = {
    add: add
};
var mongoose = require('mongoose');
mongoose.model('ClientUser', require('./models/clientUser').ClientUser);
/*
 *Routes importing
 */
var ClientUser = {
    'add' : require('./routes/clientuser/add').add
};
var mongoose = require('mongoose');

var clientUserSchema = new mongoose.Schema({
    firebaseUID :{type: String},
    userName : { type : String},
    displayName : { type : String}
});
clientUserSchema.index({firebaseUID: 1}, {unique: true});
var ClientUser = mongoose.model('ClientUser', clientUserSchema);
module.exports = {
    ClientUser : ClientUser
};
'use strict';
 var ClientUser = require('./clientUser').ClientUser;

 var add = function (request, response) {
     var firebaseUID = request.body.firebaseUID;
     var userName = request.body.userName;
     var displayName = request.body.displayName;
     var newClientUser = new ClientUser({
         firebaseUID: firebaseUID,
         userName: userName,
         displayName: displayName
     });

     if (!firebaseUID || !userName) {
       return response.send(400);
      }
      newClientUser.save(function (error, doc) {
         if (error) {
             return response.send(500, { 'message': 'Error in adding the Category', error: error });
          }
          return response.sendStatus(200);
      });

    };

module.exports = {
  add: add
};
/*
 *Routes importing
 */
var ClientUser = {
    'add' : require('./routes/clientuser/add').add
};
app.js

var mongoose = require('mongoose');

var ClientUser = new mongoose.Schema({

    firebaseUID :{type: String},
    userName : { type : String},
    displayName : { type : String}

});
ClientUser.index({firebaseUID: 1}, {unique: true});
module.exports = {
    ClientUser : ClientUser
};
'use strict';
var mongoose = require('mongoose');
var ClientUser = mongoose.model('ClientUser');
var getNewClientUserModel = function () {
  return mongoose.model('ClientUser');
};
module.exports = {
        getNewClientUserModel : getNewClientUserModel
};
'use strict';
var dependency = require('./../../dependency');
var _ = dependency.getLodash();

var add = function (request, response) {
    var firebaseUID = request.body.firebaseUID;
    var userName = request.body.userName;
    var displayName = request.body.displayName;
    var newClientUser= dependency.getNewClientUserModel();
    newClientUser.firebaseUID = firebaseUID;
    newClientUser.userName = userName;
    newClientUser.displayName = displayName;

    if (!firebaseUID || !userName) {
        response.send(400);
        return null;
    } else {
        newClientUser.save(function (error,doc) {
            if (!_.isEmpty(error)) {
                response.send(500, {'message': 'Error in adding the Category', error: error});
            } else {
                response.send(200);
            }
            return null;
        });
    }
};

module.exports = {
    add: add
};
var mongoose = require('mongoose');
mongoose.model('ClientUser', require('./models/clientUser').ClientUser);
/*
 *Routes importing
 */
var ClientUser = {
    'add' : require('./routes/clientuser/add').add
};
var mongoose = require('mongoose');

var clientUserSchema = new mongoose.Schema({
    firebaseUID :{type: String},
    userName : { type : String},
    displayName : { type : String}
});
clientUserSchema.index({firebaseUID: 1}, {unique: true});
var ClientUser = mongoose.model('ClientUser', clientUserSchema);
module.exports = {
    ClientUser : ClientUser
};
'use strict';
 var ClientUser = require('./clientUser').ClientUser;

 var add = function (request, response) {
     var firebaseUID = request.body.firebaseUID;
     var userName = request.body.userName;
     var displayName = request.body.displayName;
     var newClientUser = new ClientUser({
         firebaseUID: firebaseUID,
         userName: userName,
         displayName: displayName
     });

     if (!firebaseUID || !userName) {
       return response.send(400);
      }
      newClientUser.save(function (error, doc) {
         if (error) {
             return response.send(500, { 'message': 'Error in adding the Category', error: error });
          }
          return response.sendStatus(200);
      });

    };

module.exports = {
  add: add
};
/*
 *Routes importing
 */
var ClientUser = {
    'add' : require('./routes/clientuser/add').add
};

您需要将模式转换为可以使用的模型,转换为clientUser.js,然后将其传递给mongoose.Model(modelName,schema)

module.exports = mongoose.model('ClientUser', ClientUser);
你能记录“依赖性”吗?因为依赖路径似乎不正确。否则代码看起来很好。