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

Jak używać wiosennych danych mongo @CompoundIndex z podkolekcjami?

Próbowałem tego rodzaju indeksu złożonego w mojej aplikacji, który również używa danych wiosennych i działał poprawnie. Musisz tylko poprawić definicję indeksu w @CompoundIndex adnotacja:

@CompoundIndex(name = "aid_bid_idx", def = "{'id' : 1, 'b.id' : 1}")
@Document(collection = "doc_a")
public class A {    
  @Field("id")
  private Integer id;

  @Field("b")
  private Collection<B> b;
  ...
}

public class B {    
  @Field("id")
  private Integer id;
  ...
} 

Jeśli uruchomisz zapytanie z wyjaśnieniem (jak poniżej) w powłoce mongo, zobaczysz, że zostanie użyty indeks *aid_bid_idx*.

db.doc_a.find({ "id" : 1, "b.id" : 1}).explain()

Wynik będzie mniej więcej taki:

{
    "cursor" : "BtreeCursor aid_bid_idx",
    ...
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Promuj podpola do najwyższego poziomu w projekcji bez wyświetlania wszystkich kluczy

  2. MongoDB $abs

  3. Jak mogę przeglądać lub wyszukiwać dane na żywo MongoDB?

  4. Jak w mongoDb usunąć element tablicy według jego indeksu?

  5. Jaki jest najlepszy sposób przechowywania dat w MongoDB?