μλ νμΈμ,
ObjectId λ°°μ΄μμ ObjectIdλ₯Ό μ κ±°νλ €λ©΄ μ΄λ»κ² ν΄μΌ ν©λκΉ?
λ΄ λͺ¨λΈ:
var User = new Schema({
title : { type : String, index: true },
name : String,
friends : [ObjectId],
join_at : {type:Date, default:Date.now },
save_at : {type:Date, default:Date.now }
});
objectId μμ ν¨μ : uid
User.findOne({'_id' : self.id}, function(err, me){
for(var i=0; i<=me.friends.length; i++){
if (String(me.friends[i])==String(uid)){
me.friends.splice(i, 1);
break;
}
}
me.save(function(err,us){
next(err,'kljlmjk'+JSON.stringify(me));
});
});
μλ΅ν΄ μ£Όμ μ κ°μ¬ν©λλ€.
μ ν©μ μ¬μ©νμ§ λ§μμμ€.
me.friends.remove(uid);
me.save(callback);
κ·Έ κΈ°λ₯μ μλ¦λ΅λ€!
λ€μκ³Ό κ°μ΄ μ¬λ¬ λ¬Έμμ μ΄ μμ μ μννλ λ°©λ²μ΄ μμ΅λκΉ?
User.update({
friends: uid
}, {
'$pull': {
friends: uid
}
})
μ΄ λμΌν μ§λ¬Έμ λν λ΅λ³μ μ°Ύκ³ μμ΅λλ€(μ). μ¬λ¬ λ¬Έμμ λν΄ μ΄ μμ μ μννλ λ°©λ²μ 무μμ λκΉ?
@jhickner μλ $pullAll
. http://docs.mongodb.org/manual/reference/operator/update/pullAll/
νλ₯ν
@bnoguchi μλ
νμΈμ, μ΄κ²μ μ€λλ μ€λ λλΌλ κ²μ μκ³ μμ§λ§ Googleμ 첫 λ²μ§Έ κ²μλ¬Όμ
λλ€(μ¬κΈ°μ ν΄κ²°μ±
μ μ°Ύμμ΅λλ€).
κ·Έλ¬λ μμ μ±μ μν΄ κ°λ¨ν μ§λ¬Έμ
λλ€. μ νΈνλ μ¬μ©λ²:
me.friend.remove(uid);
me.save(callback);
λλ:
me.friends.pull(uid);
me.save(callback);
λν (μ¦, push() μ λν λ λμ λμ) λμ μ "μΉκ΅¬"λ₯Ό μ½μ νλ λ μ νν λ°©λ²μ΄ μμ΅λκΉ?
me.friend.push(uid);
me.save(callback);
κ°μ¬ ν΄μ.
Re: 첫 λ²μ§Έ μ§λ¬Έμ κ°μΈ μ·¨ν₯μ λ°λΌ μ€μνμ§ μμ΅λλ€.
Re: λ λ²μ§Έ μ§λ¬Έ, μ΄λ€ λ©΄μμ λ λμκ°μ?
κ·Έλλ‘ λ ν¨μ¨μ μΌλ‘/λΉ λ₯΄κ².
λν .pop(...) μ λ°°μ΄μ λΉμΈ λ λ¬Έμ κ° μμ μ μμΌλ©° me.save(callback) ν¨μλ₯Ό νΈμΆν ν "cannot save undefined" νλλ₯Ό throwνλ λ°λ©΄ remove()λ μ μμ μΌλ‘ μλνλ€λ μ¬μ€μ μκ² λμμ΅λλ€.
μλμ, push()
λ save()
μ¬μ©νλ©΄μ μ΅λν λΉ¨λΌμΌ ν©λλ€. me.update({}, { $push: { friend: uid } }).then()
λ ν μ μμ΅λλ€. λ―Έλ€μ¨μ΄, μ ν¨μ± κ²μ¬ λ±μ μ°ννμ¬ μ½κ° λ λΉ¨λΌμ§μ§λ§ μ 체 λκΈ° μκ°μ΄ λ무 λ§μ΄ ν₯μλμ§λ μμ΅λλ€.
Re: pop()
λ¬Έμ , μ€ν μΆμ κ³Ό μ΄ λ¬Έμ λ₯Ό μ¬ννλ μ€ν¬λ¦½νΈλ‘ λ³λμ λ¬Έμ λ₯Ό μ΄ ββμ μμ΅λκΉ?
κ°μ₯ μ μ©ν λκΈ
μ ν©μ μ¬μ©νμ§ λ§μμμ€.