2016-03-24 3 views
0

を押すと同じで、我々は時々このような何かを参照配列にオブジェクトを推進していますフォロワーは、次の2つのステートメントは同等ですか?はマングーススキーマのユーザーが関与したオブジェクトID

第一の可能性

var aUser = new User(); 
var anOtherUser = new User(); 
aUser.followers.push(anOtherUser); //Push the user object 

第二の可能性

var aUser = new User(); 
var anOtherUser = new User(); 
aUser.followers.push(anOtherUser._id); //Push the id directly 

答えて

1

UserSchemaでコードをテストした後、結果は同じです。

コード1

var aUser = new User(); 
var anOtherUser = new User(); 
aUser.followers.push(anOtherUser); 

結果、

aUser --> { "_id" : ObjectId("56f49865a09d6dc824343704"), "followers" : [ ], "__v" : 0 } 
anOtherUser --> { "_id" : ObjectId("56f49865a09d6dc824343703"), "followers" : [ ObjectId("56f49865a09d6dc824343704") ], "__v" : 0 } 

コード2:

var aUser = new User(); 
var anOtherUser = new User(); 
aUser.followers.push(anOtherUser._id); 

結果:

aUser --> { "_id" : ObjectId("56f49a07c4b56cc0285d2da1"), "followers" : [ ], "__v" : 0 } 
anOtherUser --> { "_id" : ObjectId("56f49a07c4b56cc0285d2da0"), "followers" : [ ObjectId("56f49a07c4b56cc0285d2da1") ], "__v" : 0 } 

コード2スニペットはにfollowersObjectIdを追加する正しい方法です。

関連する問題