在mongo中插入数组不会发生?

我是MongoDb的新手,我有一个关于数据插入的问题。 我用于'用户'集合的mongoose模式:

var user = new mongoose.Schema({ username : {type: String}, email : {type: String,index: {unique: true}}, password : {type: String}, feed : [{ title : {type: String}, description : {type: String}, latitude : {type:Number}, longitude : {type:Number}, feedImages : [{ imageUrl: {type: String} }] }] }); 

我想插入数据到feedimages和我的服务是:

 app.post('/uploadFeedImage',function(req,res) { var _id = req.body._id; var imageUrl = req.body.imageUrl; db.user.update( {"feed._id":_id }, {$push : { feedImages:{ imageUrl:imageUrl } } },function (err,result) { if (err) { res.json({"success": '0', "message": "Error adding data"}); } else { res.json({"success": '1', "message": "Data added"}); } }); }); 

但数据没有插入到表中,没有显示错误,我不知道是什么问题。

我的用户表如下所示:

表

使用$推入数组的匹配元素。 即为哪个feed._id匹配

尝试这个:

 db.user.update( {"feed._id":_id }, {$push : { "feed.$.feedImages":{ imageUrl:imageUrl } } },function (err,result) { if (err) { res.json({"success": '0', "message": "Error adding data"}); } else { res.json({"success": '1', "message": "Data added"}); } }); 

编辑

$update positional operator ,它只帮助更新符合更新条件的元素。 欲了解更多信息,请参阅MongoDB $运营商文档。