Node.js:Typeerror不能读取未定义的属性'find'

我在这几天里一直在做一些研究,但在试图testing我从网上获得的代码时却一直停滞不前。

var MongoClient = require('mongodb').MongoClient, format = require('util').format; MongoClient.connect('mongodb://127.0.0.1:27017/test', function(err, db) { if (err) { throw err; } else { console.log("successfully connected to the database"); db.collection('chat', function(err, collection) { collection.find({}, { tailable: true, awaitdata: true, numberOfRetries: -1 }) .sort({ $natural: 1 }) .each(function(err, doc) { console.log(doc); }) }); } db.close(); }); 

错误是:c:\ Project \ node_modules \ mongodb \ lib \ mongo_client.js:406抛出错误^我缺less任何外部库/引用,因为错误显示“ 无法读取属性”未定义 “。

mongodb版本:“2.0.31”

您在第一个callback中检查可能的错误,但不检查第二个callback。 代替

 db.collection('chat', function(err, collection) { collection.find({}, {... 

尝试:

 db.collection('chat', function(err, collection) { if (err) { throw err; } else { collection.find({}, {... 

这不会让你的代码片段做你想做的,但它会让你找出什么错误阻止它的工作。