2012-11-17 5 views
0

У меня есть проблема с этим названием коллекции:MongoDB node.js

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 (журнал) просто вернуть Silence,

фактически Молчание зарегистрироваться в «испытания» сбор и нет «тест»

вы можете объяснить мне, почему я поставил

var collection = 'test'; 

ответ

2

Попробуйте

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

Это работает спасибо :) – Ajouve