0

我是猫鼬的新手,我试图插入一些数据,但是当我查看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');
        });
    });

为什么 ?谢谢你的帮助 !

4

1 回答 1

1

因为默认行为是使用模型名称的小写复数版本,这在文档中大部分都有描述(它没有提到小写部分)。

model如果你想要别的东西,你可以提供你自己的集合名称作为第三个参数:

var User = db.model('User', UserSchema, 'User');
var Stat = db.model('Stat', StatSchema, 'Stat');
于 2012-10-16T20:02:35.137 回答