环回更新嵌入式文档

时间:2014-08-25 07:20:50

标签: node.js strongloop loopbackjs

这里的模型:

我想从“Master”更新“FirstLevel”,并将“prop”作为搜索条件。

{
   "name": "Master",
   "base": "PersistedModel",
   "properties": {}
   },
   "validations": [],
   "relations": {
       "firstLevels": {
           "type": "embedsMany",
           "model": "FirstLevel"
       }
   },
   "acls": [],
   "methods": []
}

{
   "name": "FirstLevel",
   "base": "PersistedModel",
   "properties": {
        "prop": {
            "type": "number"
         }
   },
   "validations": [],
   "relations": {},
   "acls": [],
   "methods": []
}

使用MongooseJS,我可以这样做:

Master.update({'firstLevels.prop': 100},
     {
          $push: {
               'firstLevels.$.prop2': 'test'
          }
     }, { upsert: true },
          function (err) {
               ...
          }
     );

如何使用Loopback执行此操作?

1 个答案:

答案 0 :(得分:4)

Fabien在邮件列表中回答了这个问题:

Loopback目前不提供MongoDB等本地$push更新命令,因此您最好的选择是直接使用连接器 - 例如:

var mongodb = app.dataSources.db.connector;
mongodb.collection('Master').update( ... );