Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.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 猫鼬不';t使用数组创建模型对象_Node.js_Mongoose - Fatal编程技术网

Node.js 猫鼬不';t使用数组创建模型对象

Node.js 猫鼬不';t使用数组创建模型对象,node.js,mongoose,Node.js,Mongoose,我正在从事一个项目,其中我有以下mongoose模式: module.exports = mongoose.model('Env', { name : {type : String, default: ''}, services: [ServiceAddress] }); module.exports = mongoose.model('ServiceAddress', { serviceId : {type : ObjectId}, address: {typ

我正在从事一个项目,其中我有以下mongoose模式:

module.exports = mongoose.model('Env', {
    name : {type : String, default: ''},
    services: [ServiceAddress]
});

module.exports = mongoose.model('ServiceAddress', {
    serviceId : {type : ObjectId},
    address: {type: String}
});
我正在尝试更新一个现有的“Env”文档,该文档包含一个空的“services”数组

router.put('/api/env', function(req, res, next) {
    var env = new Environment(req.body);
    env.save(function(err, updated){
        if (err){
            res.send(err);
        }
        res.json(updated);
    });
});
请求正文内容为:

{
   _id: "56dd26a6618c1b983d5bada6", 
   name: "Test Drive"
   services: [{_id: "56dc6e385fb0b038241d3399", address: "11"}, {_id:     "56dc6e595fb0b038241d339a", address: ""}]
}
但数据库中的结果是(仅推送ID):

有什么想法吗


谢谢

请用下面的代码片段试一试

var serviceSchema = {
    serviceId : {type : ObjectId,required: false},
    address: {type: String,required: false}
};
// added so that new _id field is not added when object is pushed in array
serviceSchema  = 'new Schema('+serviceSchema +',{_id:false})';

module.exports = mongoose.model('Env', {
    name : {type : String, default: ''},
    services: [serviceSchema], default:[],
});
谢谢

var serviceSchema = {
    serviceId : {type : ObjectId,required: false},
    address: {type: String,required: false}
};
// added so that new _id field is not added when object is pushed in array
serviceSchema  = 'new Schema('+serviceSchema +',{_id:false})';

module.exports = mongoose.model('Env', {
    name : {type : String, default: ''},
    services: [serviceSchema], default:[],
});