使用mongoose从mongo中获取任何数据时遇到问题。连接似乎很好,因为我已经打印出调试语句。我已经搜索了可能导致这种情况的高低,但是afaik我正在设置架构和集合。
这是我在名为posts.js的文件中的内容:
var mongoose = require('mongoose');
var db = mongoose.connect('mongodb://localhost:27017/sister', function(err) {
if (err) throw err;} //this does not get printed
);
mongoose.connection.on("open", function(){
console.log("mongodb is connected")} //this gets printed
);
var Schema = mongoose.Schema;
var thePost = new Schema({
name : String
});
mongoose.model('post', thePost);
var posts = db.model('post');
posts.find({}, [], function(err, calls) {
console.log(err, calls, calls.length); //prints out: null [] 0
});
为了播种数据,我已经在我的mongo shell中完成了这个操作,它插入了一个文档然后显示找到所有可以找到的文件:
> randumb = { name : 'emile' };
{ "name" : "emile" }
> db.post.insert(randumb);
> db.post.find({});
{ "_id" : ObjectId("4e775e8cc24f31883fdafbab"), "name" : "emile" }
答案 0 :(得分:0)
尝试更改
var posts = db.model('post');
到
var posts = mongoose.model('post');
答案 1 :(得分:0)
为了让它更短,请尝试更改:
mongoose.model('post', thePost);
var posts = db.model('post');
为:
var posts = mongoose.model('post', thePost);