未捕获的类型错误:无法读取 null 的属性“集合”

时间:2021-02-07 19:04:53

标签: javascript node.js database mongoose mongodb-query

我一直在尝试从集合中获取数据,但它返回给我未捕获的类型错误:无法读取 null 的属性“集合”。 Mongo 数据库本身与云连接,并从那里检查具有该名称的集合是否存在。

    var output = [];

mongoose.connect(MongoURI, { useNewUrlParser: true, useUnifiedTopology: true }, function(client) {
    var cursor = client.collection('updates').find();
    cursor.forEach(function(values) {
        output += values;
    });
});

我计划稍后使用输出进行条件检查,看看是否有任何类似的条目。

1 个答案:

答案 0 :(得分:0)

正如官方文档所述,mongoose.connect 接受回调作为最后一个参数进行错误处理。 https://mongoosejs.com/docs/4.x/docs/connections.html

所以要查找数据,您应该将模型名称和它的模式传递给 mongoose.model,检索集合, 然后寻找你需要的东西。例如:

const client = mongoose.model("Client", clientScheme);

client.find({}, function(err, docs){
    mongoose.disconnect();
    
    if(err) return console.log(err);
    
    console.log(docs);
});

看一眼https://mongoosejs.com/docs/guide.html