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

Mongoid - limit odrębnych zapytań

odrębne w MongoDB to polecenie, a polecenia nie zwracają kursorów. Tylko kursory obsługują limit(), podczas gdy wyniki poleceń nie, podobnie jak sort() nie jest tutaj obsługiwane, i myślę, że sortowanie jest wystarczająco ważne, aby uruchomić je jako pierwsze, w przeciwnym razie nigdy nie wiadomo, które "pierwsze dwa" odrębne elementy otrzymasz

Istnieje sposób na obejście tego, ale za pomocą struktury agregacji. W zwykłym mowie zapytania MongoDB (tak jak używasz w powłoce MongoDB), użyjesz:

db.places.aggregate( [
    { $match: { 'tags' : { $in: [ 'food' ] } } },
    { $group: { '_id': '$name' } },
    { $sort: { 'name': 1 } },
    { $limit: 2 },
] );

Podejrzewam, że w Mongoid możesz zmienić pierwszą linię na:

Place.collection.aggregate( [



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Refaktoryzacja kodu oprogramowania pośredniego projektu NodeJS z wykorzystaniem tras, kontrolerów i modeli

  2. UID wygenerowany przez Mongodb zawiera słowo zły

  3. Google Cloud Platform – nie można połączyć się z mongodb

  4. Jak wykonać sprzężenie w tablicy w mongoose (mongodb) za pomocą node.js?

  5. Sink Kafka Stream do MongoDB za pomocą PySpark Structured Streaming