sql >> Databáze >  >> NoSQL >> MongoDB

Mongo dotaz na podpole

Dalším, efektivnějším přístupem by bylo implementovat poddokument „stav“ jako pole „zadaných hodnot“, jako je tento:

 {"_id" : ObjectId("51385d2308d427ce306f0100"),
  "aid" : "1",
  "studyId" : "study-1",
  "mediaType" : "microBlog",
  "text" : "bla bla",
  "sentences" : "bla bla",
  "status" : [
          { type: "algo1", value: "required" },
          { type: "algo2", value: "required" },
          { type: "algo3", value: "completed" },
          { type: "algo4", value: "completed" }
  ],
  "priority" : "u"}

To vám umožní najít všechny dokumenty, pro které má kterékoli z podpolí hodnotu "požadováno", pomocí tohoto dotazu:

db.foo.find({"status.value":"required"})

Definování indexu v tomto dílčím poli by urychlilo dotaz:

db.foo.ensureIndex({"status.value":1})


  1. Vyhledání MongoDB, když je cizí pole pole

  2. Jak převést datum na UTC v MongoMapper &Ruby/Rails?

  3. MongoDB $atan

  4. Ekvivalent ovladače Java pro Object.bsonsize( doc) JavaScript shellu?