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

Mongodb - kunci pencocokan regex untuk subdokumen

Tidak mungkin melakukan kueri terhadap kunci dokumen dengan cara ini. Anda dapat mencari kecocokan persis menggunakan $exists , tetapi Anda tidak dapat menemukan nama kunci yang cocok dengan suatu pola.

Saya berasumsi (mungkin salah) bahwa Anda mencoba mencari dokumen yang memiliki sub-dokumen URL, dan tidak semua dokumen memiliki ini? Mengapa tidak mendorong informasi jenis itu ke tingkat yang lebih rendah, seperti:

{
  payload: {
    type: "url",
    url: "Facebook.com",
    ...
  }
}

Kemudian Anda dapat menanyakan seperti:

db.foo.find({"payload.type": "url", ...})

Saya juga akan lalai jika saya tidak memperhatikan bahwa Anda tidak boleh menggunakan titik (. ) adalah nama kunci di MongoDB. Dalam beberapa kasus, dimungkinkan untuk membuat dokumen seperti ini, tetapi akan menyebabkan kebingungan besar saat Anda mencoba untuk melakukan kueri ke dalam dokumen yang disematkan (di mana Mongo menggunakan titik sebagai "pemisah jalur" sehingga untuk berbicara).



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana Anda menggunakan Mongoose tanpa mendefinisikan skema?

  2. yum install mongodb 3.2 gagal

  3. Modifikasi tidak langsung dari properti yang kelebihan beban App\Dossier::$program tidak berpengaruh

  4. Validasi objek terhadap skema Mongoose tanpa menyimpan sebagai dokumen baru

  5. Faktor Operasional yang Perlu Dipertimbangkan Selama Pemodelan Data MongoDB