当前位置: 首页 > 面试题库 >

NodeJS和MongoDB FindAndModify()需要删除或更新

冯元魁
2023-03-14
问题内容

我试图用nodejS在mongodb中做一个findAndModifiy,这是我的代码:

var nextBill = function (db, success, log) {
    var collection = db.collection('autoincrements');
    log.debug('autoIncrementRepository', 'nextBill');
    var result = collection.findAndModify({
        query: { _id: 'auto' },
        update: { $inc: { bill: 1 } },
        new: true
    });

    success(result.bill);
};

编辑:

尝试回调

collection.findAndModify({
        query: { _id: 'auto' },
        update: { $inc: { bill: 1 } },
        new: true
    }, function (e, result) {
        success(result.budget);
    });

但是给我这个错误需要删除或更新..但是我正在这样做..


问题答案:

.findAndModify()节点本机驱动程序实现中的方法与mongo
shell实现不同。要进行上述更新,请执行以下操作:

collection.findAndModify(
   { "_id": "auto" },
   { "$inc": { "bill": 1 } },
   function(err,doc) {
     // work here

   }
);

奇怪的是要删除您在选项中指定的内容,以便相同内容将“删除”匹配的文档:

collection.findAndModify(
   { "_id": "auto" },
   { "$inc": { "bill": 1 } },
   { "remove": true },
   function(err,doc) {
     // work here

   }
);

主要区别在于您没有为操作命名“关键”部分。



 类似资料:
  • 利用UPDATE和DELETE语句进行操作表数据。 更新数据 UPDATE用来更新修改表中的数据 更新表中特定的行 更新表中所有行 注意: 如果省略了WHERE子句,就会更新所有行。 UPDATE语句有三个部分组合 要更新的表 列名和他们的新值 确定要更新哪些行的过滤条件 mysql> UPDATE Customers -> SET cust_email = '[email protect

  • 我有父实体和一个方向作为具有关系的子实体。我尝试使用Hibernate查询删除超过一周的广告,但得到的结果是: com.mysql.jdbc.exceptions.jdbc4.mysqlintegrityConstraintViolationException:无法删除或更新父行:外键约束失败(.,constraint外键()引用() 用户: 筛选器: 广告: DAO删除方法:

  • 这适用于添加或更新。但是,随着时间的推移,员工可能会被删除或重新分配到另一个部门。我认为删除应该是发送到EMPLOYEE主题的tombstone记录(k:empid,v:null)。但是,我不再拥有departmentId,我必须进行空检查(并为departmentId返回空),因此删除员工时不会发生removeEmployee。DepartmentID的更改也有类似问题。 那么,Kafka的方法

  • 日安! 我想我已经阅读了几乎所有与PHP和BOM相关的问题,但仍然没有找到适合我的问题的答案。所以我在这里: 我有一个PHP脚本(loader.PHP),它第一次运行时会生成一个配置文件(_config.PHP),在这个脚本中,我只存储一些与第一次调用的环境有关的变量。如果_config。php文件已经存在,我需要它在加载器中。php 一切正常,但问题是_config。php需要创建为UTF8。在

  • 我有一个由Access DB使用ResultSet&填充的JTable。我有一个方法可以正确地从数据库中删除记录,但在刷新表模型的当前视图时遇到了困难。我看过类似的帖子,并尝试使用和,但没有成功。我还注意到其他帖子提到了的使用,因为它有add/remove行方法,但我使用的代码来自我去年使用的Java教科书(教授从未达到这一点,所以我试图自己学习)... 以下是定制JFrame的类: 下面是Abs

  • 我有两个对象实体(用户和电话),它们应该有多对多关系。 使用者JAVA 电话JAVA 现在,我在用户表中添加了两个ID为1和2的用户。然后,我添加一个id为1的手机,并将它们映射到两个用户id(1) 我的用户电话表如下所示: 现在,我想删除一个ID为2的用户。当我尝试这样做时,我得到了一个错误 我的删除脚本: 知道我哪里出错了吗?非常感谢:)