如何更新mongoose的数组项

时间:2015-02-26 15:38:52

标签: arrays node.js mongodb mongoose

我在mongodb集合中有一个文档,如下所示:

{
   id: String,
   username: String,
   password: String,
   email: String,
   user_messeges: [{
                     mail:String,
                     messeges:[ {String} ]
                  }]
}

我想在user_messeges数组中更新messeges数组。

我使用了这种方法,但是我收到了错误:"位置操作员没有找到查询所需的匹配项。意外更新"

User.update({'user_messeges.email':my_email},{$push : {'user_messeges.$.messages':msg}},{upsert:true},function(err)...

我该怎么做?

1 个答案:

答案 0 :(得分:0)

只需针对您的架构测试以下查询即可。

   db.user.update({'user_messeges.mail':'some_email'},
{$push:{'user_messeges.$.messeges':'new msg'}},
{upsert:true})