MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

mongoDB:$inc eines nicht existierenden Dokuments in einem Array

Mit diesem Schema können Sie das, was Sie wollen, nicht in einem Schritt erreichen.

Sie könnten dies jedoch tun, wenn Sie tag_name verwenden als Schlüsselname, anstatt ratings zu verwenden dort, aber dann haben Sie möglicherweise ein anderes Problem bei der Abfrage.

Wenn der Wert tag_name der Feldname wäre (der Bewertungen ersetzt), hätten Sie {"dubstep":{"0":1}} statt { "ratings" : {"0" : 1},"tag_name" : "dubstep"} die Sie dynamisch nach Belieben aktualisieren können. Denken Sie nur daran, dass dieses Schema die Abfrage erschwert - Sie müssen die Bewertungen im Voraus kennen, um nach Schlüsselnamen abfragen zu können.