3
나는이와 비슷한 문서가 있습니다증가 A : MongoDB를 몽구스 드라이버 객체의 배열 내에서 {키 값}
{
'user_id':'{1231mjnD-32JIjn-3213}',
'name':'John',
'campaigns':
[
{
'campaign_id':3221,
'start_date':'12-01-2012',
'worker_id': '00000'
},
{
'campaign_id':3222,
'start_date':'13-01-2012',
'worker_id': '00000'
},
...
etc
...
]
}
내가 campaigns
배열의 요소 (7)의 campaign_id
를 증가 할 말을 . 몽구스 드라이버와 dot를 사용
, 나는 내가 이것을 할 수있는 생각 :
camps.findOneAndUpdate({name: "John"}, {$inc: {"campaigns.7.campaign_id": 1}}, upsert: true, function(err, camp) {...etc...});
이것은 campaign_id
을 증가하지 않습니다.
이것을 늘리려면 어떤 제안이 필요합니까?
, 내가 말한다면 : '. 캠페인''VAR 업데이트 =을 + position + ".campaign_id"'그리고 나서 $ inc : {update : 1}'은 작동하지 않습니다 ('position'은 정수입니다). 위와 같이 써도 괜찮습니다 :'$ inc : { "campaigns.7.campaign_id": 1}'. 왜 그런지 알아? – user1460015
JavaScript 직접 개체에서 변수를 키 이름으로 사용할 수 없기 때문에. 따라서 업데이트 개체를 프로그래밍 방식으로 작성해야합니다. 'var update = {$ inc : {}}; $ inc [ '캠페인.' + position + ".campaign_id"] = 1; ' – JohnnyHK
아 ... 흥미 롭습니다. 감사! – user1460015