【问题标题】:$pull function of Waterline ODM for updating Mongo database用于更新 Mongo 数据库的 Waterline ODM 的 $pull 函数
【发布时间】:2015-05-11 20:25:07
【问题描述】:

Sails 的 Waterline 允许您将实体的属性声明为“数组”类型:

module.exports = {
  attributes: {
    stuff: { type: 'array' }
  }  
}

在 mongodb 中有 $pull 运算符,可用于更新查询,并允许您在单个查询中从多个文档的数组属性中删除某些值。从我搜索的内容来看,我没有找到任何可以在 Waterline 中启用此功能的东西,有没有人找到解决此问题或类似问题的方法?提前致谢。

【问题讨论】:

  • 好的,所以我没有找到答案,所以我所做的是调用本地 mongo 查询。 Resource.native(function (err, collection)) { // do native stuff with collection } 这不行,因为现在我被锁定到 mongodb 的这个功能,但另一方面我不知道 $pull 功能在 sql 类型的数据库中进行 mimed 会是好的或有效的。
  • 您应该展示您实际做了什么作为答案,以便其他人在遇到类似问题时可以找到并学习。
  • 是的,我想我会这样做的。

标签: node.js mongodb sails.js waterline


【解决方案1】:

这就是我处理问题的方式。现在可以了,因为无论如何我都被其他各种数据库调用锁定到 mongodb。假设我有“实体”数据库模型并且数组属性是“arr”。模型的连接必须是 mongodb:

Entity.native(function (err, collection) {
  //handle err
  collection.update(objectsToUpdate, {
    $pull: { arr: myValue }
  }, function (err, result) {
    //do callback, etc.
  });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-19
    • 2012-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多