2014-02-28 2 views
1

나는, 나는 다음과 같은 스키마의 카운트 개체를 업데이트하기 위해 노력하고있어 expressjs, MongoDB를하고 몽구스을 사용하고 있습니다 :몽구스 스키마, 설정 키 변수

var UsersSchema = new Schema({ 
    username: { type: String, required: true }, 
    counts: { 
    followers: { type: Number, default: 0 }, 
    trips: { type: Number, default: 0 }, 
    videos: { type: Number, default: 0 } 
    } 
}) 

그리고 업데이트 부분 (작동되지 않음) :

var key = 'trips' // set dynamically, could be 'videos' or 'followers' 
Users.update({'username': username}, {$set: {'counts.key': 12}}, callback) 

작동 예 그러나 동적이지 :

Users.update({'username': username}, {$set: {'counts.trips': 12}}, callback) 

어떤 아이디어가?

+1

가능한 중복 [변수 몽구스 쿼리를 사용하는 방법?] (http://stackoverflow.com/questions/21592595/how-to-use-variable-mongoose-query) – JohnnyHK

+0

네, 감사합니다! 이것이 제가 찾고 있던 것입니다. 그래도 다른 방법이 있는지 궁금합니다. – inwpitrust

답변

2

$ set에 대한 동적 변수를 만들고 쿼리에 사용할 수 있습니다.

var key = 'trips'; 
var dynSet = {$set: {}}; 
dynSet.$set["counts." + key] = 12; 
Users.update({'username': username}, dynSet, callback) 
+0

이 솔루션은 효과가없는 것처럼 보이지만 그렇게하면 훨씬 깨끗해 보입니다. – inwpitrust

+0

1 분을 확인하겠습니다. – Sumeet

+0

어떤 오류가 발생합니까? – Sumeet