我是mongoose的新手,我试图插入一些数据,但是当我看到rockmongo时,模型应该是“用户”是“用户”,“统计”是“统计”等...
以下是架构:
var UserSchema = new mongoose.Schema({
username: String,
facebook_id: String,
facebook_token: String,
img: String,
email: String,
created_at: { type: Date, default: Date.now }
});
var StatSchema = new mongoose.Schema({
user_id: {type: mongoose.Schema.Types.ObjectId, ref: 'User'},
detail: {
right: [{type: mongoose.Schema.Types.ObjectId, ref: 'Question'}],
wrong: [{type: mongoose.Schema.Types.ObjectId, ref: 'Question'}],
score: Number
},
created_at: { type: Date, default: Date.now }
});
var User = db.model('User', UserSchema);
var Stat = db.model('Stat', StatSchema);
此代码创建“users”和“stats”集合:
var U1 = new User({ username: "toto", facebook_id: req.params.facebook_id, facebook_token: req.params.facebook_token })
U1.save(function (err) {
if (err)
console.log('U1 save error');
var S1 = new Stat({ user_id: U1.id })
S1.save(function (err) {
if (err)
console.log('S1 save error');
});
});
为什么?谢谢你的帮助!
答案 0 :(得分:1)
因为默认行为是使用docs中主要描述的模型名称的较低版本,复数版本(它没有提及较低的部分)。
如果您需要其他内容,可以将自己的集合名称作为第三个参数提供给model
:
var User = db.model('User', UserSchema, 'User');
var Stat = db.model('Stat', StatSchema, 'Stat');