sql >> データベース >  >> NoSQL >> MongoDB

サブフィールドでのMongoクエリ

    もう1つのより効率的なアプローチは、次のように「ステータス」サブドキュメントを「型付き値」の配列として実装することです。

     {"_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"}
    

    これにより、次のクエリを使用して、サブフィールドのいずれかに「必須」の値を持つすべてのドキュメントを検索できます。

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

    このサブフィールドにインデックスを定義すると、クエリが高速化されます:

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


    1. MongoDBのマシンプールとクラウドプロファイル

    2. pymongoを使用してObjectIdだけのリストを取得するにはどうすればよいですか?

    3. Redisの更新は同期していますか?

    4. MongoのCursor.nextObjectが誤ってNullを返すことがありますか?