amitava
amitava

Reputation: 505

mongodb embedded document search

I have a mongodb collection like as follows . My job is to increase the "rate" of a particular document inside "ratings" key. I can do it by following command in mongo shell. db.amitava1.update({_id:1},{"$inc":{"ratings.0.rating":1 } } ) . . Here by 0 I access the first document in "ratings". But I need to use a variable in place of 0. The following does not work.

x = 0;
db.amitava1.update({_id:1},{"$inc":{"ratings.x.rating":1 } } );

Any help would be greatly appreciated. Thanks,

Upvotes: 0

Views: 32

Answers (1)

zangw
zangw

Reputation: 48356

Try to do it with Template String, to parse x in the ratings.x.rating.

> var x = 0;
> var str = `ratings.${x}.rating`;
> db.amitava1.update({_id:1}, {$inc: {[str]: 1}})

Upvotes: 1

Related Questions