node mongoose 实现查询功能 修改成函数
发布于 11 年前 作者 kingche 6809 次预览 最后一次回复是 11 年前 来自
var mongoose = require('mongoose') ;
var models = require('../models/username') ;
var User = models.User ;
mongoose.connect('mongodb://localhost/mongogroup') ;
function doquery(){
User.find({"username":"xiaoming"},function(err,doc){
if(doc) {
console.log('found it');
};
});
}
username.js 中的内容为
var mongoose = require('mongoose') ;
var Schema = mongoose.Schema ;
var UserSchema = new Schema({
username : String ,
}) ;
exports.User = mongoose.model('User',UserSchema) ;
数据库连接没有什么问题,为什么不能实现查询功能了? ps:事实上去掉function doquery(){ }是可以工作的,为什么加上后运行就是没有任何反应!
11 回复
推荐楼主看一下 http://cnodejs.org/topic/504b4924e2b84515770103dd
搭车做个广告,操作mongoose必须少不了mongoomise
@bijiabo 谢谢!已经在看,顺便请教个问题: GroupModel.find({groupname:search_doc},function(err,doc){ console.log(doc); //可以正常打印出整个查询到的文档! console.log(doc.groupname); //但是不可以只打印查询到的文档groupname键的值??? }); 请问我怎样才能只打印出groupname键的值
@kingche 按理来说如果doc!==null的话应该可以打印出doc.groupname的呀 你的doc打印出来内容是什么@@?
@damngoto 哇!看起来很棒>_<
function doquery(){ User.find({“username”:“xiaoming”},function(err,doc){ if(doc) { console.log(‘found it’); }) ; } 少了个大括号吧
function doquery(){ User.find({“username”:“xiaoming”},function(err,doc){ if(doc) { console.log(‘found it’); } }) ; }
@bijiabo undefine
@jayself 上面是我写错了,如果真是少了括号的话,运行时会报语法错误的,但是实际运行了什么都没反应!当我断开net stop mongodb服务时,也立即会报错。 事实上去掉function doquery(){ }是可以工作的,为什么加上后运行就是没有任何反应!
求解决!自己顶!
@kingche
修改了一些源代码中的拼写错误之后,运行上述代码没问题。
**
index.js**@bnuhero 谢谢!整了半天原来是函数未被调用的问题~好囧好囧!