0

このコレクション名に問題があります:

module.exports = function() {

    var mongoose = require('mongoose');
    var db = mongoose.createConnection('localhost', 'race');
    db.on('error', console.error.bind(console, 'connection error:'));
    db.once('open', function () {});

    var collection = 'test';
    var Schema = mongoose.Schema;
    var ObjectId = Schema.ObjectId;

    var schema = new Schema({
        author: ObjectId,
        name: String,
        date: Date
    });

    this.model = db.model(collection, schema);

    var silence = new this.model({ name: 'Silence' })
    console.log(silence.name);
    silence.save();

    this.model.find(function (err, log) {
        console.log(err)
        console.log(log)
    })

    return this;
};  

私はすでにテスト コレクションを持っていますが、console.log(log) は Silence を返すだけです。

実際、沈黙は「テスト」コレクションに登録され、「テスト」は登録されていません

理由を説明してもらえますか、私は設定しました

var collection = 'test';
4

1 に答える 1

2

これを試して

var schema = new Schema({
        author: ObjectId,
        name: String,
        date: Date
    }, { collection: collection });
于 2012-11-17T13:11:20.927 に答える