环境
node -v
v10.0.0
// native driver "mongodb": "^3.0.8",
期望的行为
我想更新文档并返回原始文档。
实际行为
正在返回更新的文档,而不是原始文档。
我试过的
起初,我在查看findAndModify:
http://mongodb.github.io/node-mongodb-native/3.1/api/Collection.html#findAndModify
然而,那里的文档表示它已被弃用,并使用findOneAndUpdate、findOneAndReplace或findOneAndDelete代替。
所以我尝试:
collection.findOneAndUpdate(filter, update, function(err, result) {
if (err) {
res.send(err);
} else {
// find object in array of objects ('statements') and return the 'text' property value
var old_text = result.value.statements.find(x => x.id === "my_great_id").text;
console.log(old_text);
}
});
http://mongodb.github.io/node-mongodb-native/3.1/api/html" target="_blank">Collection.html#findOneAndUpdate
文档中说,默认选项是“返回原始值”(returnOriginal),但它记录的是更新后的值,而不是原始值。
编辑:
问题出在代码的其他地方——上面的代码按预期工作。
问题出在代码的其他地方——正如预期的那样,原始post作品中的代码。
默认情况下,findOneAndUpdate
函数返回原始文档。但是将{new: false}
添加到findOneAndUpdate
函数的第三个参数可能适用于您的情况。
collection.findOneAndUpdate(filter, update, {new: false}, function(err, result) {
if (err) {
res.send(err);
} else {
// find object in array of objects ('statements') and return the 'text' property value
var old_text = result.value.statements.find(x => x.id === "my_great_id").text;
console.log(old_text);
}});
问题内容: 我正在将MongoDB与节点js一起使用 我想更新一个现有文档并返回更新后的文档,该文档已正确更新。但是它返回的旧文件意味着更新之前的原始文件。我已经使用了参数,但是没有用。 响应是 当我直接通过终端转到mongoDB并尝试 该文档已正确更新,它只返回原始文档而不是已更新的文档。 在这里停留了2个小时,我们将不胜感激 在package.json中 问题答案: Node.js 驱动程序文
为了学习平均堆栈(使用Mongoose),我创建了一个StackOverflow类型的应用程序。我有存储在Mongo(v3.0.7)中的问题,它们有答案子文档。 我试图增加一个答案的投票数,但当问题返回时,它是空的。我非常肯定查询有问题,特别是我试图用需要修改的ID得到答案的地方。 查询0票有效: 更新:通过Mongo查询,返回结果: 但是,通过Mongoose返回NULL:
问题内容: 在Node.js中使用Mongoose,您可以使用find返回一些字段。例如。 但我似乎无法弄清楚如何使用findOneAndUpdate返回某些字段。 有人做到过吗?我在文档中找不到它。 问题答案: 从说明书,该参数需要一个关键的它,因为还有其他的细节,比如和地方适用。您 还 需要以下选项: 您也可以使用 请注意,没有返回的文档处于处理更新修改 之前 的状态。有时候这就是您的意思,但
问题内容: 我觉得有点愚蠢,但它不起作用: 我有如果给定的用户是unicode。如果字符串中包含或,我想打印成功,但是我总是得到的结果。 问题答案: 隐式锚定到字符串的开头。如果要在字符串中搜索可以在字符串中任何位置的子字符串,则需要使用: 输出: 另外,Python Regexes不需要在开头和结尾都有一个。 最后,我添加到该行的末尾,因为我认为这就是您想要的。否则,您会得到类似的信息,但并不太
注:[2017年1月11日]RestInfoAdapter.java的源代码已经更改和更新(参见下面的第2项) 我一直在尝试通过保留原始输入列表的备份/副本来使我的搜索视图返回到原始列表。但是,它根本不起作用。我的这个问题包括使用自定义类的RecyclerView和ArrayList。 是一个名为<code>RestInfo 我是如何尝试的 适配器类,以便RestInfo可以呈现在卡片视图中(因此
我在一个基于XML的spring上下文文件中定义了一个骆驼上下文。有一条路由正在由SOAP(XML)web服务客户端bean调用。在调用路由时,它抛出一些异常,客户端接收到骆驼异常,而不是原始异常。 Camel在异常时对客户端的响应如下所示 预期响应应该是任何异常的原始异常消息 这是我的骆驼路线定义 我尝试使用camel onException但没有成功:(