Dans le Shell, ma requête est:
db.checkin_4e95ae0926abe9ad28000001.update({location_city:"New York"}, {location_country: "FUDGE!"});
Cependant, cela ne met pas à jour mes enregistrements. Il ne fait pas d'erreur non plus. Lorsque je fais une db.checkin_4e95ae0926abe9ad28000001.find({location_city:"New York"});
après avoir exécuté ceci, j'obtiens tous mes résultats mais le location_country
N'a pas changé:
{
"_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": ""
}
Modifié dans la version 3.6. Voici la syntaxe de mise à jour:
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>,
collation: <document>,
arrayFilters: [ <filterdocument1>, ... ]
}
)
Exemple :
db.getCollection('products').update({},{$unset: {translate:1, qordoba_translation_version:1}}, {multi: true})
Dans votre exemple:
db.checkin_4e95ae0926abe9ad28000001.update(
{location_city:"New York"}, //query
// $update query
{ $set : { location_country: "FUDGE!"}});
Par défaut, la méthode update () met à jour un seul document. Définissez le paramètre multiple pour mettre à jour tous les documents qui correspondent aux critères de requête.
Exemple 2:
db.checkin_4e95ae0926abe9ad28000001.update(
{location_city:"New York"}, //query
// $update query
{ $set : { location_country: "FUDGE!"}}, {multi: true});
En effet, dans le deuxième paramètre de la fonction pdate , vous devez utiliser l'opérateur $ set pour mettre à jour location_country
comme dans l'exemple ci-dessous:
db.checkin_4e95ae0926abe9ad28000001.update(
{location_city:"New York"}, //find criteria
// this row contains fix with $set oper
{ $set : { location_country: "FUDGE!"}});
Ici vous pouvez trouver une liste des opérateurs de mise à jour disponibles.
db.m_country.update(
{"countryId": "962a0935-bf3d-4f63-a53c-254760273ede"},
{$set: {'countryPopulation': '12540000'}})