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

MongoDBでネストされたJSONオブジェクトのデータのみを取得するにはどうすればよいですか?


MongoDBでネストされたJSONオブジェクトのデータを取得するには、findOne()を使用します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo109.insertOne(
...    {
...       "Name" : "Chris",
...       "Subjects" : [
...          {
...             "Id" : "100",
...             "Name":"MySQL",
...             "InstructorDetails" : [
...                {
...                   "Name" : "John"
...                }
...             ]
...          },
...          {
...             "Id" : "101",
...             "Name":"MongoDB",
...             "InstructorDetails" : [
...                {
...                   "Name" : "Mike"
...                }
...             ]
...          }
...       ]
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e2ee7df9fd5fd66da21447a")
}

find()メソッドを使用してコレクションからすべてのドキュメントを表示する-

> db.demo109.find();

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

{
   "_id" : ObjectId("5e2ee7df9fd5fd66da21447a"), "Name" : "Chris", "Subjects" : [
      { "Id" : "100", "Name" : "MySQL", "InstructorDetails" : [ { "Name" : "John" } ] },
      { "Id" : "101", "Name" : "MongoDB", "InstructorDetails" : [ { "Name" : "Mike" } ] }
   ] 
}
>

以下は、MongoDB内のネストされたJSONオブジェクトのデータのみを取得するためのクエリです-

> db.demo109.findOne(
... { Name: "Chris"}
... , { 'Subjects': { $elemMatch:{'Id':"100"} } }
... , function (err, doc) { console.log(doc) });

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

{
   "_id" : ObjectId("5e2ee7df9fd5fd66da21447a"),
   "Subjects" : [
      {
         "Id" : "100",
         "Name" : "MySQL",
         "InstructorDetails" : [
            {
               "Name" : "John"
            }
         ]
      }
   ]
}

  1. JavaでJacksonObjectModelを使用してJSONデータをマッピングするにはどうすればよいですか?

    ObjectMapper クラスは、Javaオブジェクト間で変換してJSON構造を照合するための機能を提供します。 オブジェクトモデルで表されるJSONデータのマッピングを実現できます ツリーのようなを使用して特定のJavaオブジェクトに JSONコンテンツ全体を読み取ってメモリに保存するデータ構造。最初のステップで、JSONデータを JSONNodeに読み込みます オブジェクト 次に、 treeToValue()を呼び出して、それを別のインスタンスにマップしました ObjectMapperのメソッド クラス。 構文 public <T> T treeToValue(TreeN

  2. JavaScriptでオブジェクトの値を取得するにはどうすればよいですか?

    Object.values()などのメソッドがいくつかあります オブジェクトの値を取得します。しかし、これらの方法では、値を見つけるプロセスに時間がかかります。これを軽減するには、 Underscore.js javascriptのライブラリは、 _。values()と呼ばれるメソッドを提供しています 。このメソッドでは、値を実行するためにforループは必要ありません。これは、オブジェクトの値を実行するための直接的な方法です。 次の例では、オブジェクトの値は Object.values()を使用して実行されました。 方法。このメソッドにはforループが必要です 値を実行します。 例 &l