MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

コレクションを検索して、MongoDBのドキュメントの1つでネストされた値を見つけるにはどうすればよいですか?


このためには、find()で二重アンダースコア(__)を使用します。まず、ドキュメントを使用してコレクションを作成しましょう-

> db.nestedDemo.insertOne({"Information":{"__StudentName":"John Smith"}});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e06f39125ddae1f53b621f0")
}
> db.nestedDemo.insertOne({"Information":{"__StudentName":"John Doe"}});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e06f39e25ddae1f53b621f1")
}
> db.nestedDemo.insertOne({"Information":{"__StudentName":"Chris Brown"}});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e06f3a625ddae1f53b621f2")
}

以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです-

> db.nestedDemo.find().pretty();

これにより、次の出力が生成されます-

{
   "_id" : ObjectId("5e06f39125ddae1f53b621f0"),
   "Information" : {
      "__StudentName" : "John Smith"
   }
}
{
   "_id" : ObjectId("5e06f39e25ddae1f53b621f1"),
   "Information" : {
      "__StudentName" : "John Doe"
   }
}
{
   "_id" : ObjectId("5e06f3a625ddae1f53b621f2"),
   "Information" : {
      "__StudentName" : "Chris Brown"
   }
}

これは、コレクションを検索して、MongoDB内のドキュメントの1つでネストされた値を見つけるためのクエリです-

> db.nestedDemo.find({"Information.__StudentName":"John Doe"});

これにより、次の出力が生成されます-

{ "_id" : ObjectId("5e06f39e25ddae1f53b621f1"), "Information" : { "__StudentName" : "John Doe" } }

  1. 配列内で一致したオブジェクトの数に基づいてMongoDBでドキュメントを見つけるにはどうすればよいですか?

    例を見て、ドキュメントを使用してコレクションを作成しましょう- > db.demo694.insertOne( ...    { ...       "details" : ...       [ ...          { ...             "Name" : "Chris", ...      

  2. MongoDBドキュメントで特定の値を超える値を見つけますか?

    特定の値を超える値を検索するには、MongoDBで$gteを使用する構文を次に示します- db.yourCollectionName.find({yourFieldName:{$gte:yourValue}}); ドキュメントを使用してコレクションを作成しましょう- > db.demo571.insertOne({"Price":140});{    "acknowledged" : true, "insertedId" : ObjectId("5e909b3439cfeaaf0b97b587&q