如何解决如何在mongodb函数中执行mongodb查询?
| 我正在尝试从mongo shell编写mongo脚本,但是我遇到了一个小问题。我将让代码自行解释。var shops = db.Shop.find({})
function printShopUrl(data) {
var name,url;
for (var i = 0; i < data.length(); i++) {
name = data[i].name;
url = db.Instance.findOne({name:name}).url;
print(url);
}
}
printShopUrl(shops)
因此,我现在想要做的只是打印url,但是当我运行此查询时出现错误。
TypeError: db.Instance.findOne({name:name}) has no properties (shell):1
知道我在做什么错吗?
解决方法
主要问题:以下内容可能不会返回值
db.Instance.findOne({name:name})
。因此,当您添加.url
时,您正试图从null中获取一个值。
请尝试以下操作:
var obj = db.Instance.findOne({name:name});
if(obj && obj.url) { print(obj.url); }
name
字段(name = data[i].name
)也存在相同的潜在问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。