首页 > 解决方案 > 在对象数组中添加对象

问题描述

我尝试在对象数组中添加对象(我使用猫鼬)。

我的模型:

let directoryCollection = new Schema(
  {
    email: { type: String },
    directory: [{
        name: { type: String },
        list: [ {type: Schema.ObjectId} ]
    }]
  },
  {collection: 'directory'}
);

我的列表中有一个 ObjectID 数组。

我在我的数组目录中添加对象的代码:

let id = mongoose.Types.ObjectId(req.body.id);

directoryModel.update({
    'email': req.body.email,
}, {
    $push: { 'directory': {
        'name': req.body.directory,
        'list': [ { id } ]
    } 
}
}, function (req, result) {
    console.log(result);
    res.json('ok');
});

但结果是:

{ ok: 0, n: 0, nModified: 0 }

我的变量是正确的。

我的收藏概览(使用 MongoDB Compass):

在此处输入图像描述

我认为语法不正确。但我找不到正确的语法。

一个主意 ?谢谢 !

标签: arraysobjectmongoosepush

解决方案


推荐阅读