如何获得有关MongoDB查询是否成功以及更改了多少行的反馈?

时间:2016-05-02 14:58:38

标签: mongodb mongodb-query

我有一个MongoDB数据库,我正在使用MongoChef为它编写脚本。我有一个脚本从集合中读取数据并将记录插入另一个集合。脚本运行正常,但我没有得到任何反馈。有没有办法确认脚本已经运行完毕(即插入了所有记录)?有没有办法得到插入了多少条记录(在这种情况下)的输出? (我意识到我可以编写另一个语句来计算记录,但我想知道insert语句实际插入了多少条记录)。我希望看到的内容类似于"脚本成功。将1200条记录插入集合属性中。"有人可以告诉我如何打开MongoChef的输出?谢谢。

下面是我的脚本图片。这是在它运行之后。请注意,结果选项卡中没有任何内容;没有迹象表明查询已经运行,它们已成功运行或已更新了多少条记录。

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以浏览WriteConcerns的MongoDb文档,看看哪些信息与您的Mongodb版本相匹配。以前,getLastError用于获取有关上次执行的CRUD语句的错误信息。 如果在执行任何CRUD操作后发生任何错误,getLastError可以为您提供信息。

您还可以使用insertupdateremovesave操作返回的WriteResult来获取更新文档的数量。它还包含writeError之类的属性,以获取特定于该操作的信息。

示例(不是特定于MongoChef的伪造) -

var wr = db.properties.insert(doc);

println("Updated %d collections of type %s", wr.getN(), type);