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

Unable to push data into current object inside mongo database

我正在使用 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}}
)

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

尝试包括 {upsert:true}:

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

Upsert 插入新值(如果它不存在)。

尝试$set

db.collection('users').update(
      {"id":user.id},
      {$set:{"users.labels":"hola"}})
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 } } }
)