J'essaie d'écrire un script mongo depuis le shell mongo, mais j'ai un petit problème. Je vais laisser le code s'expliquer.comment faire une requête mongodb dans une fonction mongodb?
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)
Donc tout ce que je suis en train de faire est en ce moment juste pour imprimer l'URL, mais quand je lance cette requête je reçois une erreur.
TypeError: db.Instance.findOne({name:name}) has no properties (shell):1
Une idée de ce que je fais mal?
Il semble que la requête ne trouve rien, auquel cas elle retournera null. Imprimez le résultat intermédiaire 'db.Instance.findOne ({name: name})' - que voyez-vous? – YXD
merci M. E, c'était exactement le problème que j'avais. J'ai essayé de répondre à ma propre question, mais je n'avais pas assez de points. donc je posterai ma solution ici. .. je suppose que je ne peux pas, c'est trop long, mais ouais, tout ce que je faisais était envelopper dans une prise d'essai et cela fonctionne. – Khon
try catch is excessif faites juste 'if (result) print (result.url);' – YXD