2016-07-05 6 views
0

私はモンゴーススキーマコレクションAを持っています。限り、我々はこれを行った後、私は、知っているようにmongoose .save()はObjectIdを無視します。_id

var myA = new A({ 
    name: 'A simple name' 
}); 

を次のように続いて、私は新しいオブジェクトを作成し、新しい _id属性は、そのオブジェクトに対して作成されます。これは私が

myA.save() 

を打ったとき、それがでMongoDBのに保存されていることを一日の終わりに、

{ 
    name: 'A simple name', 
    _id: ObjectId 
} 

問題のようにMYAが見えるはずです(と、それは実際に見える)ことを意味し異なる_id以前に作成されたものより。

なぜこれが起こっているのでしょうか?そしてこの「フラグ」はおそらくある - 私はあなたがnew A({...で新しい文書を作成するとき、それは内部的に適切なMongoDBの文を生成するsave()を呼び出すときに、後に評価され、新たな文書としての地位をマーク推測マングース4.4.8

答えて

0

を使用していますsave()を呼び出すと直ちに更新されません。これにより、テストデータを生成するときにドキュメントのクローンを素早く作成できるというプラスの副作用があります。

作成直後に新しく保存したドキュメントを更新する場合は、 saveメソッドは、保存されたドキュメントを2番目のパラメータで取得します。

関連する問題