sql >> Databáze >  >> NoSQL >> MongoDB

Aktualizujte prvky pole mongo podle indexu pomocí c-driveru

Pokud pole neexistovalo, tento dotaz s tečkovanou notací jej vytvoří jako hash (objekt) a přiřadí hodnoty klíčům tohoto hashe. Pokud pole existuje a je polem, bude se chovat tak, jak očekáváte. Podívejte se na tuto relaci.

> db.arrays.insert({});
> db.arrays.find();
{ "_id" : ObjectId("4f518c8b58713e4dbadbfb9f") }
> db.arrays.update({ "_id" : ObjectId("4f518c8b58713e4dbadbfb9f") }, {$set: {"a.0": 123}});
> db.arrays.find();
{ "_id" : ObjectId("4f518c8b58713e4dbadbfb9f"), "a" : { "0" : 123 } }


> db.arrays.insert({a: []})
> db.arrays.find();
{ "_id" : ObjectId("4f518c8b58713e4dbadbfb9f"), "a" : { "0" : 123 } }
{ "_id" : ObjectId("4f518cca58713e4dbadbfba0"), "a" : [ ] }
> db.arrays.update({ "_id" : ObjectId("4f518cca58713e4dbadbfba0") }, {$set: {"a.0": 123}});
> db.arrays.find();
{ "_id" : ObjectId("4f518c8b58713e4dbadbfb9f"), "a" : { "0" : 123 } }
{ "_id" : ObjectId("4f518cca58713e4dbadbfba0"), "a" : [ 123 ] }



  1. mangoose Najít s více podmínkami

  2. Vytvořit skript pro vytváření sbírek MongoDB z prostředí Mongo?

  3. Výjimka MongoSocketReadException:Předčasně dosaženo konce streamu (po určité době nečinnosti)

  4. Střípky MongoDB a nevyvážené agregační zatížení