【问题标题】:Mongodb find() return undefinedMongodb find() 返回未定义
【发布时间】:2017-07-15 16:46:26
【问题描述】:

当我尝试对我的 mongodb 使用简单的 find() 时,它会返回 undefined。

var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost:27017/local';

MongoClient.connect(url, function (err, db) {

    db.collection('pokemon').find({ $search: { $text: 'Pikachu' } }).toArray(function(err, data){ console.log(data) })

});

编辑:

原来我从来没有通过放置来创建索引

db.collection('pokemon').createIndex({Name: 'text'})

在所有代码之前。

【问题讨论】:

    标签: javascript node.js mongodb database


    【解决方案1】:

    首先,无论何时何地:

    function(err, data){ console.log(data) }
    

    你应该检查错误:

    function (err, data) {
      if (err) {
        console.log('Error:', err);
      } else {
        console.log('Data:', data);
      }
    }
    

    那么你可能会看到发生了什么。

    数据库连接本身也是如此 - 而不是:

    MongoClient.connect(url, function (err, db) {
      // use db here
    });
    

    你应该处理错误:

    MongoClient.connect(url, function (err, db) {
      if (err) {
        // handle errors
      } else {
        // use db here
      }
    });
    

    如果您不处理错误,请不要惊讶于您不知道为什么没有得到值。

    【讨论】:

    • 原来我只是忘了创建索引
    猜你喜欢
    • 1970-01-01
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-26
    相关资源
    最近更新 更多