updateMany将对象插入数组:意外令牌

时间:2016-07-21 18:28:55

标签: mongodb mongodb-query

记录的一个例子:

{name: anUserInfo.name, userid: anUserInfo.userid, deviceToken: anUserInfo.deviceToken, email: anUserInfo.email, requesters: [], friends: [], rejects: []}

有"意外令牌。"错误在" requesters.push"。

基本上,我需要将requesterID插入所有requestersemail的记录的email数组中。有什么想法吗?

  var email = myUserInfo.email;  // friend's email
  var reqeusterID = myUserInfo.userid;   // requester 's id'

  var collection = myDb.collection('UsersInfoObject');
  collection.updateMany(
    {email: email},  //critieria
    {
      $set: {requesters.push(reqeusterID)}
    },function (err, numUpdated) {
    console.log('kCommand kFriendRequest updateMany');
  });

1 个答案:

答案 0 :(得分:2)

试试这个。 如果要在请求者中添加唯一值,请使用$ addToSet

collection.updateMany(
    {email:"sddfds@gmail.com"},
    {$push:{requesters:reqeusterID}}
)