获取MongoDB中的更新文档数量?
要在MongoDB中获取更新文档的数量,您需要将runCommand和getlasterror一起使用。
首先让我们创建一个包含文档的集合
> db.getNumberOfUpdatedDocumentsDemo.insertOne({"StudentName":"David"}); { "acknowledged" : true, "insertedId" : ObjectId("5ca28c1d6304881c5ce84bad") } > db.getNumberOfUpdatedDocumentsDemo.insertOne({"StudentName":"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5ca28c226304881c5ce84bae") } > db.getNumberOfUpdatedDocumentsDemo.insertOne({"StudentName":"Robert"}); { "acknowledged" : true, "insertedId" : ObjectId("5ca28c276304881c5ce84baf") } > db.getNumberOfUpdatedDocumentsDemo.insertOne({"StudentName":"Ramit"}); { "acknowledged" : true, "insertedId" : ObjectId("5ca28c366304881c5ce84bb0") } > db.getNumberOfUpdatedDocumentsDemo.insertOne({"StudentName":"Adam"}); { "acknowledged" : true, "insertedId" : ObjectId("5ca28c436304881c5ce84bb1") }
以下是在find()
方法的帮助下显示集合中所有文档的查询:
> db.getNumberOfUpdatedDocumentsDemo.find().pretty();
这将产生以下输出
{ "_id" : ObjectId("5ca28c1d6304881c5ce84bad"), "StudentName" : "David" } { "_id" : ObjectId("5ca28c226304881c5ce84bae"), "StudentName" : "Chris" } { "_id" : ObjectId("5ca28c276304881c5ce84baf"), "StudentName" : "Robert" } { "_id" : ObjectId("5ca28c366304881c5ce84bb0"), "StudentName" : "Ramit" } { "_id" : ObjectId("5ca28c436304881c5ce84bb1"), "StudentName" : "Adam" }
以下是更新文档的查询
> db.getNumberOfUpdatedDocumentsDemo.update({}, {$set : {"StudentName" : "Carol"}}, true, true); WriteResult({ "nMatched" : 5, "nUpserted" : 0, "nModified" : 5 }) Now, get the number of updated documents: > db.runCommand( "getlasterror" );
以下是显示n=5的输出,即5个文档已更新
{ "connectionId" : 4, "updatedExisting" : true, "n" : 5, "syncMillis" : 0, "writtenTo" : null, "err" : null, "ok" : 1 }
现在显示集合中的所有文档
> db.getNumberOfUpdatedDocumentsDemo.find().pretty();
这将产生以下输出
{ "_id" : ObjectId("5ca28c1d6304881c5ce84bad"), "StudentName" : "Carol" } { "_id" : ObjectId("5ca28c226304881c5ce84bae"), "StudentName" : "Carol" } { "_id" : ObjectId("5ca28c276304881c5ce84baf"), "StudentName" : "Carol" } { "_id" : ObjectId("5ca28c366304881c5ce84bb0"), "StudentName" : "Carol" } { "_id" : ObjectId("5ca28c436304881c5ce84bb1"), "StudentName" : "Carol" }