2016-07-05 10 views
0

MongoDB用のモジュールMongooseを使用しています。ユーザーがノードサーバーにデータを送信するたびに、次のように処理されます。マングースMongoDB |データベース内の既存の文書のオブジェクトにデータを追加する

var personSchema = mongoose.Schema({ //a new schema 
properties: {}, //dynamic properties 
keys: [], 
houses:[], 
family:[] 
}, {strict: false}); 

var NewPerson = mongoose.model('people', personSchema);// 

var personObject = {properties: { 
    keys: ['data that was pushed previously']; 
    houses: ['data that was pushed previously']; 
    family: ['data that was pushed previously']; 
}} 


var person = NewPerson(personObject, false);  

person.save(function(err){ 
if(err){ 
    console.log('database error'); 
    throw err; 
} 
    console.log('cropped document saved.'); 
}); 

この時点まではすべて正常です。問題は、将来的に私のユーザーは新しい家/家族などの新しいデータを編集/追加したいと思うことです。どうすればいいですか?私が意味 、私はすでに私は、彼らはわたしの民のコレクション内の保存されたドキュメントにアクセスしたいというIDで、彼らのMongoDBのIDを送信するフォームの送信をコード化して、彼らの新しいを押して(私は、関数findOneを使用してドキュメントにアクセスする方法を知っています)鍵、家屋、家族の配列にデータを作成し、最後にデータベースに保存します。 ありがとうございます。

答えて

0

またはあなただけのupdate()メソッドを使用することができ、このアプローチはMongoDBの中のデータを変更することができ、あなたはそれを見つける必要がある、それを変更し、それを保存しないでください。

+0

実際に、それを見つけ、それを修正して、複数のユーザーが同じデータベースにアクセスするとき、それは予期しない結果につながる可能性がセーブ。 Mongoでそれを行うには、updateを使うのが唯一の正しい方法です。 –

関連する問題