MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana cara menggunakan data pegas mongo @CompoundIndex dengan sub koleksi?

Saya telah mencoba jenis indeks gabungan ini di aplikasi saya, yang juga menggunakan data pegas, dan berfungsi dengan baik. Anda hanya perlu memperbaiki definisi indeks di @CompoundIndex anotasi:

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

Jika Anda menjalankan kueri dengan penjelasan (seperti berikut) di mongo shell, Anda akan melihat bahwa indeks *aid_bid_idx* akan digunakan.

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

Hasilnya akan seperti ini:

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara melihat bidang dokumen di mongo shell?

  2. Nilai kenaikan Mongodb di dalam array bersarang

  3. Dapatkan posisi dokumen yang dipilih dalam koleksi [mongoDB]

  4. Temukan catatan MongoDB di mana bidang array tidak kosong

  5. Redis atau Mongo untuk menentukan apakah suatu angka termasuk dalam rentang?