gpt4 book ai didi

node.js - nodejs mongodb 查找修改并返回新的。无法规范化查询

转载 作者:可可西里 更新时间:2023-11-01 10:28:09 24 4
gpt4 key购买 nike

我的问题与此有关

findAndModify Error in mongodb - nodejs - error code 17287

但解决方案没有奏效(我尝试指定顺序,但我得到了同样的错误)我认为这可能与我正在使用 example 而不是 _id(_id 是此集合中的一个字段,在这种情况下我只是不想通过 _id 进行搜索)完全不确定...

错误:

{ [MongoError: exception: nextSafe(): { $err: "Can't canonicalize query: BadValue bad sort specification", code: 17287 }]
name: 'MongoError',
message: 'exception: nextSafe(): { $err: "Can\'t canonicalize query: BadValue bad sort specification", code: 17287 }',
errmsg: 'exception: nextSafe(): { $err: "Can\'t canonicalize query: BadValue bad sort specification", code: 17287 }',
code: 13106,
ok: 0 }

这是我的代码,它应该找到并修改(并使用 new:true 返回)字段 example 等于负一的文档的第一个实例。

db.collection('documents').findAndModify({example:-1},{$set:{example:0}},{new:true},function(err,result){
console.dir(err||result);
});

但它所做的只是错误,就像它讨厌我的脸一样!

这是一个文档:

{'_id':0,'example':-1}

我的 id 字段是自定义数字,我确保 _id 始终是唯一的(出于我的目的,我无法将 _id 更改为标准的 mongodb 方式。)

最佳答案

当 Node 文档突然结束时,让它工作是很痛苦的,然后你只能猜测代码结构应该如何/可能只是一个标准结构,但不是!由于开发人员未记录的方法,我浪费了一天时间。

这是工作代码

db.collection('documents').findAndModify({'example':{$eq:-1}},[['example',1]],{$set:{'example':-1}},{'new':true},function(err,result){
console.dir(err||result);
});

我不确定我是否真的喜欢像这种以太币那样编写代码。我可能会为此寻找另一个 Node 模块,因为上面的查询看起来很恶心!

如果我能找到像这样简单的东西就太好了:

db.collection('documents').findModifyReturn('find:example==-1;order:asc;set:example=0;',function(e,r){});

关于node.js - nodejs mongodb 查找修改并返回新的。无法规范化查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31294790/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com