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 回答