Mongo db shell只能打印一次

adi*_*tya 3 mongodb mongo-shell

> var x = db.sampleDB.find();
> x
Run Code Online (Sandbox Code Playgroud)

输出:

{ "_id" : ObjectId("55d02ed690ddbaafbfe20898"), "name" : "aditya", "city" : "meerut" }
Run Code Online (Sandbox Code Playgroud)

但是,如果我再次打印此变量,它不会打印任何内容.我无法打印x.name

使用ubuntu 14.04(db version v2.6.10)

Bla*_*ven 8

返回的结果.find()"游标"而不是值.所以当你做的事情如下:

> var x  = db.sampleDB.find();
> x
Run Code Online (Sandbox Code Playgroud)

然后你所做的就是迭代光标就像你做的那样:

> db.sampleDB.find();
Run Code Online (Sandbox Code Playgroud)

如果您想"保留"内容,请致电 .toArray()

> var x  = db.sampleDB.find().toArray();
> x
Run Code Online (Sandbox Code Playgroud)

或者如果结果是单数,那么只需打电话 .findOne()

> var x  = db.sampleDB.findOne();
> x
Run Code Online (Sandbox Code Playgroud)

现在所有这些都已从光标"转换",只能将结果检索到已经具有获取结果的变量.