0

私はマングースが初めてで、いくつかのデータを挿入しようとしましたが、ロックモンゴを見ると、「ユーザー」であるはずのモデルは「ユーザー」、「統計」は「統計」などです...

スキーマは次のとおりです。

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他の何かが必要な場合は、独自のコレクション名を 3 番目のパラメーターとして指定できます。

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