MongoDB - 无法在 Mongo Shell 中获取对象的键值
MongoDB - Unable to get an object's key's value in Mongo Shell
下面的脚本是运行在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"
?
您是要 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
.
下面的脚本是运行在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"
?
您是要 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
.