Подтвердить что ты не робот

Обновить запрос в оболочке MongoDB

В оболочке мой запрос:

db.checkin_4e95ae0926abe9ad28000001.update({location_city:"New York"}, {location_country: "FUDGE!"});

Однако он фактически не обновляет мои записи. Это тоже не ошибка. Когда я выполняю db.checkin_4e95ae0926abe9ad28000001.find({location_city:"New York"}); после выполнения этого, я получаю все мои результаты, но location_country не изменился:

{
    "_id": ObjectId("4e970209a0290b70660009e9"),
    "addedOn": ISODate("2011-10-13T15:21:45.772Z"),
    "location_address1": "",
    "location_city": "New York",
    "location_country": "United States",
    "location_latLong": {
        "xLon": -74.007124,
        "yLat": 40.71455
    },
    "location_source": "socialprofile",
    "location_state": "New York",
    "location_zip": ""
}
4b9b3361

Ответ 1

Это связано с тем, что во втором параметре функции update вам необходимо использовать $set оператора обновите location_country, как показано в примере ниже:

db.checkin_4e95ae0926abe9ad28000001.update(
   {location_city:"New York"}, //find criteria
   // this row contains fix with $set oper
   { $set : { location_country: "FUDGE!"}}); 

Здесь вы можете найти список доступных операторов обновления.