MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Czy kierowca Meteor Mongo może obsłużyć każdego operatora i operatora pozycji?

Jeśli utworzysz kolekcję meteorów za pomocą new Mongo.Collection('col') otrzymujesz z powrotem instancję Minimongo, która nie jest natywnym Node MongoDriver, prawda?

Więc niektóre metody po prostu nie działają lub nie są w pełni obsługiwane... jak collection.aggregate

Ale możesz łatwo uzyskać dostęp do natywnego sterownika przez Col.rawCollection() i wykonaj zapytanie bezpośrednio w instancji natywnej. Oczywiście instancja natywna jest dostępna tylko na serwerze .

Aby zrobić to, co chcesz, masz kilka sposobów, na przykład możesz najpierw wziąć tablicę, ustawić ją tak, jak chcesz i

$set: {my_array: sortedArray } Osobiście wolałbym ten sposób, ponieważ musisz wykonać tylko jedną operację aktualizacji zamiast dwóch ($pull &$push at $position )

Ale jeśli chcesz to zrobić w sposób $push at $position .. po prostu zrób to z natywnym sterownikiem

var col = Collection.rawCollection();
var result = Meteor.wrapAsync(col.update.bind(col)(
  /* update query goes here */
);

Uwaga:potrzebujesz Meteor.wrapAsync ze względu na styl synchronizacji Meteor, możesz to zrobić również bez niego. Kolekcja.rawCollection().update(...)




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo:znajdź przedmioty, które nie mają określonego pola

  2. Używasz MongoDB do przechowywania niezmiennych danych?

  3. Jak korzystać z mangusty findOne

  4. Czy działa mongoskin tylko z mongodb w wersji 1.4 i starszej?

  5. Wydajność agregacji MongoDB