sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan bruger man forårsdata mongo @CompoundIndex med undersamlinger?

Jeg har prøvet denne form for sammensat indeks i min app, som også bruger fjederdata og fungerede korrekt. Du skal kun rette indeksdefinitionen i @CompoundIndex anmærkning:

@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;
  ...
} 

Hvis du kører en forespørgsel med explain (som følgende) i mongo shell, vil du se, at indekset *aid_bid_idx* vil blive brugt.

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

Resultatet bliver noget som dette:

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


  1. pymongo:navnet 'ISODate' er ikke defineret

  2. MongoDB C# Query Array af objekter, der indeholder en egenskabsværdi

  3. MongoDB $atan2

  4. Forespørger MongoDB GridFS?