MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Moongoose 3.8.8 поддържа ли $position оператор?

Това всъщност няма значение и никога няма значение за която и да е реализация на „рамка“ и нямам нищо против да обясня защо.

Всяка отделна „рамка“ (като Mongoose, Mongoid, Doctrine, MongoEngine и т.н. и т.н. и т.н.) са основно изградени върху базова реализация на „драйвер“, която в повечето случаи е разработена от самия персонал на MongoDB. Така че основната функционалност винаги е там, дори ако трябва да „задълбочите“ до ниво, за да използвате тези „родни“ методи.

Така че ето примерът за естествена употреба в този случай:

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

});

Обърнете внимание на метода на „събиране“, използван от модела, който получава „суровите“ детайли за събиране от драйвера. Така че използвате неговия метод, а не някакъв "обвит" метод, който може да извършва допълнителна обработка.

Следващата и най-основна причина е, ако не можете да намерите метода и приложението на операторите, от които се нуждаете, тук е прост факт.

Всяка отделна операция, използвана от методите във всяка рамка и метод на основен драйвер, е по същество извикване на метода "runCommand" в основния API. Тъй като това основно повикване е достъпно навсякъде (под една или друга форма, защото трябва да бъде), тогава можете да правите всичко, което намерите рекламирано на сайта MongoDB с внедряване на всеки език на всеки рамка.

Но краткото извикване на вашата конкретна заявка е, тъй като това всъщност не е метод повикване, но е просто част от BSON аргументите, както са предадени, тогава, разбира се, няма ограничение от определен езиков драйвер за действително използване на това.

Така че можете да използвате тези нови аргументи, без разбира се да актуализирате до най-новата версия. Но вероятно ще получите някои добри методи за това, ако наистина го направите.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да проектирате индекс на масив след размотаване на масив с MongoDB рамка за агрегиране

  2. NoSQL тенденции – MongoDB, Cassandra, CouchDB и Riak

  3. Как да направите вложени заявки в MongoDb, които работят като вложени заявки за избор на Sql

  4. $push в MongoDb не работи?

  5. Аргументът трябва да бъде низ в nodejs