sql >> Database >  >> NoSQL >> MongoDB

Ondersteunt Moongoose 3.8.8 de $position-operator?

Dit maakt eigenlijk niet uit en is nooit van belang voor een "framework" -implementatie en ik vind het niet erg om uit te leggen waarom.

Elk afzonderlijk "framework" (zoals Mongoose, Mongoid, Doctrine, MongoEngine, etc, etc, etc.) is in principe allemaal gebouwd op een basis "driver"-implementatie die in de meeste gevallen is ontwikkeld door de medewerkers van MongoDB zelf. Dus de basisfunctionaliteit is er altijd, zelfs als je je moet "verdiepen" tot een niveau om die "native" methoden te gebruiken.

Dus hier zou in dit geval het native gebruiksvoorbeeld zijn:

List.collection.update(
{},
{ "$push": {
    "list": {
      "$each": [ 1, 2, 3 ],
      "$position": 0 }
    }
},function(err,NumAffected) {
  console.log("done");

});

Let op de "verzamel"-methode die van het model wordt gebruikt, die de "onbewerkte" verzamelgegevens van de bestuurder krijgt. U gebruikt dus zijn methode en niet een of andere "verpakte" methode die mogelijk extra verwerking uitvoert.

De volgende en meest fundamentele reden is dat als je de methode en toepassing van de operators die je nodig hebt niet kunt vinden, dit een simpel feit is.

Elke afzonderlijke bewerking zoals gebruikt door de methoden in elk framework en elke basisstuurprogrammamethode is in wezen een aanroep van de "runCommand" -methode in de basis-API. Dus aangezien die basisaanroep overal beschikbaar is (in een of andere vorm, omdat het moet zijn), kunt u alles doen wat u op de MongoDB-site vindt geadverteerd met elke taalimplementatie op elke kader.

Maar de korte oproep voor uw specifieke verzoek is, aangezien dit niet echt een methode is call maar gewoon onderdeel is van de BSON-argumenten zoals doorgegeven, dan is er natuurlijk geen beperking door een bepaalde taaldriver om dit daadwerkelijk te gebruiken.

U kunt deze nieuwe argumenten dus gebruiken zonder natuurlijk te updaten naar de meest recente versie. Maar je zult waarschijnlijk een aantal leuke methoden krijgen om dit te doen als je het echt doet.



  1. Hoe een reeks hashes op te slaan in redis

  2. Hoe kan ik afbeeldingen in mongodb opslaan met node.js?

  3. Converteer naar MongoDB via mongoimport

  4. Hoe een null-veld toe te staan ​​​​bij het updaten in Mongoose?