我在终端中运行此命令
$mongo <database> -u user -p pw update.js
update.js包含此代码
var cursor = db.resources.find({
user: "dummy0"
});
print('cursor:', cursor);
var oldMatter = cursor.values.green;
我的终端输出和我得到的错误如下
cursor: DBQuery: scrounge.resources -> { "user" : "dummy0" }
E QUERY TypeError: Cannot read property 'green' of undefined
我使用的环境/ API /驱动程序是什么?
访问该值的正确语法是什么?
答案 0 :(得分:1)
您是否尝试过分析返回的光标? db.resources.find
将返回一个包含在可迭代游标/数组中的对象,因此您无法在cursor
变量上访问对象的属性 - cursor.values.green
将无效。
尝试使用findOne
代替:
var obj = db.resources.findOne({
user: "dummy0"
});
这会返回一个未包装为可迭代游标/数组的对象,因此假设它找到了一个对象,那么你应该能够做到
obj.values.green;