0
Мой MongoDB документ выглядит следующим образом:MongoDB номер прирост поддокументе
{
valOne: "one",
valTwo: "two",
valThree: {
threeOne: 0,
threeTwo: 0
}
}
я хотел бы увеличивать либо «threeOne» или «threeTwo» в зависимости от запроса пользователя.
Мой код до сих пор:
var whichFieldToUpdate = request.body.field; //can be either threeOne or threeTwo
var id = new BSON.ObjectID(request.body.id); //contains document id
db.collection('name').update({_id: id}, {$inc: { ?????? } },
function(err, result) {
});
???? должно быть что-то вроде этого: {$inc: {valThree: {whichFieldToUpdate : 1 } }
использовать точечную нотацию для доступа поддокументы {$ вкл: { «valThree.threeOne»: 1} – joao
да я иду, что ТНХ. но проблема в том, что threeOne изменяется в зависимости от ответа и {$ inc: {'valThree.' + whichFieldToUpdate: 1}, похоже, не работает – BuildingJarl
сделать это с помощью инструкции if вместо того, чтобы пытаться поставить whoFieldToUpdate динамически – joao