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

Rozwiązanie Datastore do wyszukiwania tagów

Mongodb poradzi sobie z tym, co chcesz, jeśli przechowujesz swoje obiekty w ten sposób

{ score:2131, attributes: ["attr1", "attr2", "attr3"], ... }

Następnie poniższe zapytanie dopasuje wszystkie elementy, które mają att1 i attr2

c = db.mycol.find({ attributes: { $all: [ "attr1", "attr2" ] } })

ale to nie pasuje

c = db.mycol.find({ attributes: { $all: [ "attr1", "attr4" ] } })

zapytanie zwraca kursor, jeśli chcesz, aby ten kursor został posortowany, po prostu dodaj parametry sortowania do zapytania w ten sposób

c = db.mycol.find({ attributes: { $all: [ "attr1", "attr2" ] }}).sort({score:1})

Zobacz Zaawansowane zapytania aby zobaczyć, co jest możliwe.

Odpowiednie indeksy można skonfigurować w następujący sposób

db.mycol.ensureIndex({attributes:1, score:1})

Informacje o wydajności można uzyskać za pomocą

db.mycol.find({ attributes: { $all: [ "attr1" ] }}).explain()

Mongo wyjaśnia, ile obiektów zostało zeskanowanych, jak długo trwała operacja i różne inne statystyki.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak zaimplementować twitter i facebook api jak paginację opartą na kursorze w mongodb w nodejs przy użyciu oficjalnego klienta mongodb?

  2. Przyspiesz wyszukiwanie ciągów regularnych w MongoDB

  3. Jak utworzyć dokument Bson o wartości Null przy użyciu oficjalnego sterownika C#?

  4. Czy istnieje zapytanie wyjaśniające dla MongoDB Linq?

  5. Jak zapisać plik w MongoDB?