以下脚本在Mongo Shell
中运行
db.patches.insert({ _id: 0, name:"n/a",os:"n/a",active:"n/a",created_at:"n/a", modified_at:"n/a"})
var a = db.patches.find().sort({_id:-1}).limit(1)
a
print(a["name"])
为什么显示的是unknown type
而不是"n/a"
?
发布于 2019-05-09 06:23:47
你的意思是做var a = db.server.find().sort({_id:-1}).limit(1)
吗?(server
而不是patches
)
不管怎样,find returns a cursor。游标的工作方式是,当您调用它时,它会打印它所指向的当前文档并移动到下一个文档,因此您需要迭代它,调用cursor.next()
。
当你在做
var a = db.patches.find().sort({_id:-1}).limit(1) a
您正在打印光标,现在a.hasNext()
等于false
。
您想要做的是:
var a = db.patches.find().sort({_id:-1}).limit(1) print(a.next().name)
或
var a = db.patches.find().sort({_id:-1}).limit(1) print(a.next()['name'])
。
上面的任何一项都将打印n/a
。
https://stackoverflow.com/questions/56048660
复制相似问题