mongoose为啥搜不出东西?
发布于 1天前 作者 myylife 156 次浏览 最后一次编辑是 4小时前 来自 问答

数据库里明明有东西啊,log出来的为何是空的数组 []

数据库中有东西的

mongo 127.0.0.1:27017 MongoDB shell version: 2.6.1 connecting to: 127.0.0.1:27017/test

show collections pic system.indexes db.pic.find() { “_id” : ObjectId(“55532b9e2817911cc4a15cee”), “url” : “http://img0.bdstatic.com/img/image/shouye/touxiangwise01.jpg” }

搜不出东西

var db=require(“mongoose”);

db.connect(‘mongodb://localhost/pic’);

var pic_schema = new db.Schema({ url: String });

pic_schema.methods.findPic = function(cb) { return this.model(‘MPicture’).find( cb); }

var MPicture=db.model('MPicture’, pic_schema);

MPicture.find({},function(err,pics) { console.info(‘result found’); });

var pic = new MPicture({});

pic.findPic(function(err, result) { console.log(err); console.log(result); });

结果

result found null []

这是怎么了?

6 回复

pic.findPic(function(err, pics){ //console err 下看看有没有报错 console.log(pics); });

创建一个对象后应该调用save吧?保存成功之后再去查找应该就有了

var pic = new Picture({});
pic.save( function( err, result ) {
   pic.findPic( function() {
   } )
} );

@crystaldust 数据库中有东西的,不需要通过save写数据,我在问题中添加了更多细节,可否看下,为何搜不出数据呢?

数据库 collection 名有错 你mongoose 注册名是 MPicture 数据库里 是pic

@chita 可否帮改下代码啊,按你的方法修改多次,报错了…

回到顶部