以下是使用游标遍历集合的语法
var anyVariableName1; var anyVariableName2= db.yourCollectionName.find(); while(yourVariableName2.hasNext()) { yourVariableName1= yourVariableName2.next(); printjson(yourVariableName1); };
让我们创建包含文档的集合。以下是查询
> db.loopThroughCollectionDemo.insertOne({"StudentName":"John","StudentAge":23}); { "acknowledged" : true, "insertedId" : ObjectId("5c9ca81f2d6669774125247f") } > db.loopThroughCollectionDemo.insertOne({"StudentName":"Larry","StudentAge":21}); { "acknowledged" : true, "insertedId" : ObjectId("5c9ca8272d66697741252480") } > db.loopThroughCollectionDemo.insertOne({"StudentName":"Chris","StudentAge":25}); { "acknowledged" : true, "insertedId" : ObjectId("5c9ca8462d66697741252481") } > db.loopThroughCollectionDemo.insertOne({"StudentName":"Robert","StudentAge":24}); { "acknowledged" : true, "insertedId" : ObjectId("5c9ca8632d66697741252482") }
以下是在find()
方法的帮助下显示集合中所有文档的查询
> db.loopThroughCollectionDemo.find().pretty();
这将产生以下输出
{ "_id" : ObjectId("5c9ca81f2d6669774125247f"), "StudentName" : "John", "StudentAge" : 23 } { "_id" : ObjectId("5c9ca8272d66697741252480"), "StudentName" : "Larry", "StudentAge" : 21 } { "_id" : ObjectId("5c9ca8462d66697741252481"), "StudentName" : "Chris", "StudentAge" : 25 } { "_id" : ObjectId("5c9ca8632d66697741252482"), "StudentName" : "Robert", "StudentAge" : 24 }
以下是使用游标遍历集合的查询
> var allDocumentValue; > var collectionName=db.loopThroughCollectionDemo.find(); > while(collectionName.hasNext()){allDocumentValue= collectionName.next();printjson(allDocumentValue); ... }
这将产生以下输出
{ "_id" : ObjectId("5c9ca81f2d6669774125247f"), "StudentName" : "John", "StudentAge" : 23 } { "_id" : ObjectId("5c9ca8272d66697741252480"), "StudentName" : "Larry", "StudentAge" : 21 } { "_id" : ObjectId("5c9ca8462d66697741252481"), "StudentName" : "Chris", "StudentAge" : 25 } { "_id" : ObjectId("5c9ca8632d66697741252482"), "StudentName" : "Robert", "StudentAge" : 24 }