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

Mongoid - ограничение на отделна заявка

distinct в MongoDB е команда и командите не връщат курсори. Само курсорите поддържат limit(), докато резултатите от командата не, точно както sort() не се поддържа тук и мисля, че сортирането е достатъчно важно, за да се изпълни първо, в противен случай никога не знаете кои „първите два“ ​​отделни елемента получавате

Има начин да се заобиколи това, но с помощта на рамката за агрегиране. В обикновен език на MongoDB заявка (както използвате в обвивката на MongoDB), бихте използвали:

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

Подозирам, че в Mongoid можете да промените първия ред на:

Place.collection.aggregate( [



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

  2. Spring Data Mongodb:Актуализиране на документи

  3. Получаване на вложени данни от MongoDB в рамка с данни на Pandas

  4. Кодек MongoDB BSON не се използва при кодиране на обект

  5. Mongo JSON документ -> JSON -> BSON