访问为mongo运行JavaScript文件的字段值的正确语法是什么

What is the correct syntax to access a field value running a JavaScript file for mongo

本文关键字:语法 是什么 字段 访问 mongo 运行 JavaScript 文件      更新时间:2023-09-26

我正在终端中运行此命令
$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/驱动程序是什么
访问该值的正确语法是什么?

您尝试过分析返回的游标吗?db.resources.find将返回一个包裹在可迭代游标/数组中的对象,因此您不能只访问cursor变量上对象的属性——cursor.values.green将不起作用。

试着使用findOne,就像这样:

var obj = db.resources.findOne({
    user: "dummy0"
});

这将返回一个未包装为可迭代游标/数组的对象,因此假设它找到了一个对象,则应该能够执行

obj.values.green;