CNode

关于mongoose的问题

问答
Hhc2014发布于12 年前最后回复12 年前6 回复4354 浏览0 收藏

定义了一个model层访问的入口,代码如下:

var mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1:27017/user');

require('./user');
exports.User = mongoose.model('user');

定义了一个user 的model

var mongoose = require('mongoose');
 	var Schema = mongoose.Schema;

	var UserSchema = new Schema({
	  username: { type: String},
	  pwd: { type: String},
	  email: { type: String},
	  nickname: { type: String }
	});

mongoose.model('user', UserSchema);

然后我访问的时候代码i这样写的

	var UserModel = mongoose.User;
	UserModel.find({},function(err,user){
		if(err){
			logInfo.info(err.message);
		}else{
			res.render('test_user.html',{user:user}); 
		}
	})

可是最后显示的是插叙的user 数据集合中数据的个数是0,首先,我想问问,我的代码是否有地方写错了,然后如果没有的话,那就是mongoose d model是怎么和mongodb数据库中我的user 库中的user表关联起来的呢?

查看回复

回复 (6)

mongoose帮你加个s所以你定义的user,在mongodb中应该是users

H
hc2014#3·12 年前
引用 karlsun__legacy_5386cce8a087f456200fc1eemongoose帮你加个s所以你定义的user,在mongodb中应该是users

@karlsun 我这里是先用其他的模块往mongodb数据库中插入的数据.现在想换mongoose试试的.所以之前user 数据库中collecion的名称都是我自定义的(乱写的)

H
hc2014#4·12 年前

@karlsun 搞定了!还真是你说的那样,我用user Model新建了一条数据,然后查询以后就有了,数据库也多了一个users的数据集合。 不过假如我想关联现有的数据集合 呢?

P
pockry#5·12 年前
引用 karlsun__legacy_5386cce8a087f456200fc1eemongoose帮你加个s所以你定义的user,在mongodb中应该是users

@hc2014 你可能需要将数据按照你写的schema先导进去才能取出数据来吧。

H
hc2014#6·12 年前
引用 karlsun__legacy_5386cce8a087f456200fc1eemongoose帮你加个s所以你定义的user,在mongodb中应该是users

@pockry 问题就像@karlsun 说的那样,mongoose默认给集合名称加了个s,可是我现在的问题是,假如我想访问现有的数据就应该怎么做?

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