MongoDBデータベース内のオブジェクトの配列で_idで検索しますか?
オブジェクトの配列で_idで検索するには、集計を使用し、find()の使用を避けます。まず、ドキュメントを使用してコレクションを作成しましょう-
> db.demo414.insertOne( ... { ... "_id": "110", ... "details":[ ... { ... "StudentName":"John", ... "StudentMarks":56 ... }, ... { ... "StudentName":"Robert", ... "StudentMarks":98 ... } ... ] ... } ... ); { "acknowledged" : true, "insertedId" : "110" }
find()メソッドを使用してコレクションからすべてのドキュメントを表示する-
> db.demo414.find();
これにより、次の出力が生成されます-
{ "_id" : "110", "details" : [ { "StudentName" : "John", "StudentMarks" : 56 }, { "StudentName" : "Robert", "StudentMarks" : 98 } ] }
以下は、オブジェクトの配列で_idによって検索するクエリです-
> db.demo414.aggregate([{$unwind: "$details"}, {$match:{"details.StudentMarks" :56}}] )
これにより、次の出力が生成されます-
{ "_id" : "110", "details" : { "StudentName" : "John", "StudentMarks" : 56 } }
-
MongoDBでオブジェクトの配列を検索できますか?
はい、オブジェクトの配列を検索するには、MongoDBaggregate()で$unwindを使用します。一致させるには、$matchを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo623.insertOne( ... { ... _id:1, ... details:[ ... { ...
-
オブジェクトの配列内で複数の一致を見つけるためのMongoDBクエリ?
これには、$andを$regexと一緒に使用します。 $ andは、1つ以上の式の配列に対して論理積演算を実行し、配列内のすべての式を満たすドキュメントを選択します。 ドキュメントを使用してコレクションを作成しましょう- > db.demo525.insertOne({"details":[{Name:"Chris","CountryName":"US"}]});{ "acknowledged" : true, "insert