【发布时间】:2016-10-24 12:30:49
【问题描述】:
我正在使用 Cloudant 节点模块来修改我的 Cloudant 数据库。我将以下文件发送至db.bulk(params,callback) function.
{ docs: [
{ "_id": "...",
"_rev": "...",
"_deleted": true
},
{ "_id": "...",
"_rev": "...",
"_deleted": true
},
{ "_id": "...",
"_rev": "...",
"_deleted": true
},
{ ... }
]}
调用此函数后,我没有收到任何错误,但是当我稍后尝试查询数据库时,我仍然可以取回已删除的文档?我知道 Cloudant 有“墓碑文件”,所以它们应该仍然存在,但我根本看不到墓碑文件积极的。
即使我尝试在删除了选择器的情况下查询数据库:true 我也没有得到任何回复。
我错过了什么吗?
P.S 如果您想知道为什么我将“_deleted”放在批量文档中,我只是在关注 this site said to do.
【问题讨论】:
-
在批量操作中,某些更改可能会失败,而其他更改会成功。您是否检查了实际响应而不仅仅是
err参数? -
是的,我做到了,它传回了每个文档的 _id 和 _rev 编号,这是根据文档 on this page 删除文档的预期行为。
-
当您稍后查询它们时,它们是否有返回的 _rev、原始 _rev 或其他内容?
-
好的,等一下,我一定是在一分钟前更改了一些内容,因为我刚刚检查了文档的响应,现在它告诉我我遇到了文档更新冲突。
-
啊,找到了!我刚刚添加的方法修改了一些文档,因此 _rev 编号已过时。谢谢@OrangeDog,感谢您的帮助!
标签: json node.js couchdb cloudant document-database