在MongoDB的双嵌套数组中搜索文本?

借助dot(。)表示法在MongoDB的双嵌套数组中搜索文本。让我们首先创建一个集合。以下是使用文档创建集合的查询

> db.doubleNestedArrayDemo.insertOne(

...    {

...       "StudentId" : "1000",

...       "StudentName" : "Larry",

...       "StudentDetails" : [

...          {

...             "ProjectName" : "Online Banking",

...             "ProjectDetails" : [

...                {

...                   "TechnologyUsed" : "Java"

...                },

...                {

...                   "TechnologyUsed" : "MySQL in Backend"

...                }

...             ]

...          }

...       ]

...    }

... );

{

   "acknowledged" : true,

   "insertedId" : ObjectId("5c992bd7330fd0aa0d2fe4cc")

}

> db.doubleNestedArrayDemo.insertOne( { "StudentId" : "1001", "StudentName" : "Robert", "StudentDetails" : [ { "ProjectName" : "Student Web Tracker", "ProjectDetails" : [ { "TechnologyUsed" : "Django Framework" }, { "TechnologyUsed" : "MongoDB in Backend" } ] } ] } );

{

   "acknowledged" : true,

   "insertedId" : ObjectId("5c992cdb330fd0aa0d2fe4cd")

}

以下是在find()方法的帮助下显示集合中所有文档的查询

> db.doubleNestedArrayDemo.find().pretty()

这将产生以下输出

{

   "_id" : ObjectId("5c992bd7330fd0aa0d2fe4cc"),

   "StudentId" : "1000",

   "StudentName" : "Larry",

   "StudentDetails" : [

      {

         "ProjectName" : "Online Banking",

         "ProjectDetails" : [

            {

               "TechnologyUsed" : "Java"

            },

            {

               "TechnologyUsed" : "MySQL in Backend"

            }

         ]

      }

   ]

}

{

   "_id" : ObjectId("5c992cdb330fd0aa0d2fe4cd"),

   "StudentId" : "1001",

   "StudentName" : "Robert",

   "StudentDetails" : [

      {

         "ProjectName" : "Student Web Tracker",

         "ProjectDetails" : [

            {

               "TechnologyUsed" : "Django Framework"

            },

            {

               "TechnologyUsed" : "MongoDB in Backend"

            }

         ]

      }

   ]

}

以下是在双嵌套数组中搜索的查询。我们正在查找带有文本“ Java”的记录

>db.doubleNestedArrayDemo.find({"StudentDetails.ProjectDetails.TechnologyUsed":"Java"}).pretty();

这将产生以下输出

{

   "_id" : ObjectId("5c992bd7330fd0aa0d2fe4cc"),

   "StudentId" : "1000",

   "StudentName" : "Larry",

   "StudentDetails" : [

      {

         "ProjectName" : "Online Banking",

         "ProjectDetails" : [

            {

               "TechnologyUsed" : "Java"

            },

            {

               "TechnologyUsed" : "MySQL in Backend"

            }

         ]

      }

   ]

}

以上是 在MongoDB的双嵌套数组中搜索文本? 的全部内容, 来源链接: utcz.com/z/331261.html

回到顶部