2016-03-24 7 views
0

iterken aynı, bazen böyle bir şey görmek diziye bir nesneyi bastırıyor Bir takipçisi, aşağıdaki iki ifadeye denk mi?Gelincik Şema en Kullanıcılar dahil hangi objectId

ilk olasılık

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

ikinci ihtimal ise

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

cevap

1

UserSchema ile kodları test ettikten sonra, sonuçlar aynıdır.

Kodlar 1

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

Sonuç,

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

Kodları 2:

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

Sonuç:

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

Code2 snippet'i, ObjectId numaralı followers değerini Mongoose doc için eklemek için doğru yoldur.