如何在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
)也存在相同的潜在问题。     

要回复问题请先登录注册