我看到很多使用collection.findOne({query}).field来获取返回文档中字段值的教程/指南,但对我来说似乎无效,我想知道为什么。我确实想出了另一种方法。见下文:

var rank = function(id) {
  // My way of doing it
  collection.findOne({ _id: id }, function(err, doc) {
    console.log(doc.score); // Prints the actual score
  });

  // How some tutorials do it
  var score = collection.findOne({ _id: id }).score;
  console.log(score); // Gives a TypeError (Cannot read property 'score' of undefined)
};

最佳答案

//一些教程是如何做到的


这些教程可能使用mongodb的shell,而不是node.js api。外壳程序的api看起来类似(所有相同的词,findOne等),但是它不使用回调。 Shell的findOne确实内联返回文档。

关于node.js - collection.findOne({query})是否不应该返回文档本身?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45675236/

10-11 11:41