在水线 ORM (Sails.js) 中更新插入

问题描述 投票:0回答:2

我正在寻找一种在水线中执行MongoDB的更新插入操作的方法。一种方法是使用本机方法。

Model.native(function (err, Collection){
    Collection.update({"key": "val"}, {"$set": {"x": "val"}}, {"upsert": true}, function (err, updated){
        // do something
    })
})

但是如果我不想使用本机,我可以看到类似的函数

findOrCreate
,如果该项目不存在,它会创建一个新条目。但是,我找不到更新该项目(如果存在)的方法。这可能吗?还是只能使用本机方法?

注意:我使用的是Sails 0.11

mongodb sails.js waterline sails-mongo
2个回答
4
投票

截至目前(v0.10.26),除了您提到的那些之外,没有办法进行 Mongo 风格的更新插入。这个问题每隔一段时间就会出现一次,但我找不到直接解决它的问题,所以也许你可以提高一个。 更新 这个问题

谈论

updateOrCreate,链接的线程表明这可能很快就会添加。我最初正在研究 Sails 问题,所以难怪我什么也没发现。
在 Sails 1.0 中,您还可以通过这种方式执行本机查询:

var db = YourCollection.getDatastore().manager;
var rawYourCollection = db.collection(YourCollection.tableName);
let dbRes = await rawYourCollection.updateOne(
  { findParams },
  { $set: { setParams } },
  { upsert: true }
);


0
投票

© www.soinside.com 2019 - 2024. All rights reserved.