Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 为什么更新$set代码会删除整个文档?_Mongodb_Meteor_Set_Mongodb Update - Fatal编程技术网

Mongodb 为什么更新$set代码会删除整个文档?

Mongodb 为什么更新$set代码会删除整个文档?,mongodb,meteor,set,mongodb-update,Mongodb,Meteor,Set,Mongodb Update,救命啊! 我不知道我做错了什么,当我尝试使用$set方法更新现有字段时,整个文档都会被删除 请指出我在代码中的错误: recipientsDetails.update({_id: "GCYmFqZbaaYD7DvMZ"}, {$set: {paymentStatus: "Approved"}}); 谢谢你的帮助 代码是正确的。您的recipientsDetails的发布函数可能包含recipientsDetails.find({paymentStatus:“notapproved”})。当然,

救命啊! 我不知道我做错了什么,当我尝试使用$set方法更新现有字段时,整个文档都会被删除

请指出我在代码中的错误:

recipientsDetails.update({_id: "GCYmFqZbaaYD7DvMZ"}, {$set: {paymentStatus: "Approved"}});

谢谢你的帮助

代码是正确的。您的
recipientsDetails
的发布函数可能包含
recipientsDetails.find({paymentStatus:“notapproved”})
。当然,一旦您更新文档,文档将不再满足过滤查询,文档将从客户端消失。

您的代码是正确的。请使用工具检查您的mongoDB。将您的本地项目与robomongo连接并更新文档,然后检查文档是否已更新?如果记录已更新,则发布或订阅出现问题

此代码是正确的。因此,您可以发布此方法的其余部分,否则将无法解决此问题。@Styx是否可以尝试在浏览器控制台中运行它。即使我复制粘贴并在浏览器控制台中运行它,它也会删除。@Jankapunkt
Template.paymentB2C.events({'click}approvedpaymentbutton'(事件,实例){var selectedRecipient=this.\u id;recipientsDetails.update({u id:selectedRecipient},{$set:{paymentStatus:“Approved”})})
是否有订阅在监听文档的更改,尤其是此字段?很好的猜测,但在回答中@SirBT表示文档并没有从集合中消失,而是被替换(而不是更新),所以我不认为这是原因。无论如何,在他提供更多信息之前,我们不会知道更多。结果是一个很好的猜测,干得好@DoctorPangloss