无法将数据推入mongo数据库中的当前对象

Unable to push data into current object inside mongo database

本文关键字:对象 数据库 mongo 数据      更新时间:2023-09-26

我使用mongodb原生和Node.js 6.5.0。

我有用户对象在mongodb的结构为:

{ 
    "_id" : ObjectId("57d7d294d96a73d128c46db9"), 
    "id" : "105862592064", 
    "labels" : [
    ]
}

我有一个循环(为每个用户找到)从API获取数据,然后将其推入数组类型的对象属性。其中用户id为user.id,推送数据为resp.labels

这是我的代码:

db.collection('users').update(
          {"id":user.id},
          {"$push":{"users.labels":resp.labels}}
)

它不返回任何错误,也不更新对象。我做错了什么?

Try this:
db.collection('users').update(
          {"id":user.id},,
           {
             $push: {
               labels: {
                  $each: //yourArray
               }
             }
           }
        );

$push用于将单个元素压入数组。使用$push$each一起推入多个元素。此外,对象标签周围的引号也不应该是必要的:

db.collection('users').update(
      { id:user.id },
      { $push: { labels: { $each: resp.labels } } }
)

试试$set

db.collection('users').update(
      {"id":user.id},
      {$set:{"users.labels":"hola"}})

尝试包含{upsert:true}:

db.collection('users').update(
          {"id":user.id},
          {"$push":{"users.labels":resp.labels}},
          {"upsert": true}
);