CNode

node mongoose 实现查询功能 修改成函数

Kkingche发布于12 年前最后回复12 年前11 回复6916 浏览0 收藏
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)

B
bijiabo#1·12 年前
S
simongfxu#2·12 年前

搭车做个广告,操作mongoose必须少不了mongoomise

K
kingche#3·12 年前
引用 bijiabo推荐楼主看一下 http://cnodejs.org/topic/504b4924e2b84515770103dd

@bijiabo 谢谢!已经在看,顺便请教个问题: GroupModel.find({groupname:search_doc},function(err,doc){ console.log(doc); //可以正常打印出整个查询到的文档! console.log(doc.groupname); //但是不可以只打印查询到的文档groupname键的值??? }); 请问我怎样才能只打印出groupname键的值

B
bijiabo#4·12 年前
引用 bijiabo推荐楼主看一下 http://cnodejs.org/topic/504b4924e2b84515770103dd

@kingche 按理来说如果doc!==null的话应该可以打印出doc.groupname的呀 你的doc打印出来内容是什么@@?

B
bijiabo#5·12 年前
J
Jayier#6·12 年前

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'); } }) ; }

K
kingche#8·12 年前
引用 Jayierfunction doquery(){ User.find({"username":"xiaoming"},function(err,doc){ if(doc) { console.log('...

@jayself 上面是我写错了,如果真是少了括号的话,运行时会报语法错误的,但是实际运行了什么都没反应!当我断开net stop mongodb服务时,也立即会报错。 事实上去掉function doquery(){ }是可以工作的,为什么加上后运行就是没有任何反应!

K
kingche#9·12 年前

求解决!自己顶!

B
bnuhero#10·12 年前
引用 Jayierfunction doquery(){ User.find({"username":"xiaoming"},function(err,doc){ if(doc) { console.log('...

@kingche

修改了一些源代码中的拼写错误之后,运行上述代码没问题。

** index.js**

var mongoose = require('mongoose');
var models = require('./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',doc);
    };
  });
};

doquery();
K
kingche#11·12 年前
引用 Jayierfunction doquery(){ User.find({"username":"xiaoming"},function(err,doc){ if(doc) { console.log('...

@bnuhero 谢谢!整了半天原来是函数未被调用的问题~好囧好囧!

参与回复
登录后即可参与回复。登录