2013-02-27 4 views
6

現在、私はMongooseを使ってオブジェクトをMongoDBに保存するノードアプリケーションを持っています。私はこのようなモデルを使用しています:Mongooseオブジェクトを2つのコレクションに保存する

var mongoose = require('mongoose') 
    , Schema = mongoose.Schema; 

var RegistrationSchema = new Schema({ 
     name:{ type: String, default: '', trim: false} 
}); 

mongoose.model('Registration', RegistrationSchema); 

これは私のオブジェクトを登録と呼ばれるコレクションに保存します。

私は、次のような私の登録を保存します。

var registration = new Registration(data); 

     registration.save(function(err) { 
     if (err) { 
      return callback({ 
      source: 'data_save', 
      type: 'admin', 
      errors: err 
      }); 
     } 
     else { 
      return callback(null, data); 
     } 
     }); 

私も、私はそれを作成するときに、このようなregistrations_new、またはその効果に何かのように別の名前で別のコレクションの中に、この同じオブジェクトを保存したいと思います。このエントリーを新しいコレクションに複製したいと思います。接続文字列に他のコレクションを追加しようとしましたが、これは完全にmongoの部分を壊しました.New_Registrationという新しいモデルを作成し、そのスキーマをロードして個別に保存しようとしましたが、別の問題があります。 Mongooseはスキーマとコレクションをペアにしているようだが、保存するコレクションを上書きする方法は実際にはない。

誰もがこれに対応していますか?

答えて

10

あなたは複数のモデルで同じスキーマを使用することができますので、このようなものは動作します:

var RegistrationSchema = new Schema({ 
    name:{ type: String, default: '', trim: false} 
}); 

var Registration = mongoose.model('Registration', RegistrationSchema); 
var New_Registration = mongoose.model('New_Registration', RegistrationSchema); 

var registration = new Registration(data); 
registration.save(); 

var new_registration = new New_Registration(data); 
new_registration.save(); 
+1

あなたの先生、命の恩人です。どうもありがとうございました。 –

関連する問題