Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

특정 문서를 가져오기 위해 MongoDB 컬렉션의 배열 값에 액세스


배열 값에 액세스하려면 점(.) 표기법을 사용하십시오. 문서로 컬렉션을 만들자 −

> db.demo326.insertOne({id:101,"ProductDetails":[{"ProductId":"Prod-101","ProductName":"Product-1"},
... {"ProductId":"Prod-102","ProductName":"Product-2"}
... ]
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e516751f8647eb59e562074")
}
> db.demo326.insertOne({id:103,"ProductDetails":[{"ProductId":"Prod-104","ProductName":"Product-5"},
... {"ProductId":"Prod-105","ProductName":"Product-6"}
... ]
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e516771f8647eb59e562075")
}

find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -

> db.demo326.find();

이것은 다음과 같은 출력을 생성합니다 -

{
   "_id" : ObjectId("5e516751f8647eb59e562074"), "id" : 101, "ProductDetails" : [
      { "ProductId" : "Prod-101", "ProductName" : "Product-1" },
      { "ProductId" : "Prod-102", "ProductName" : "Product-2" }
   ]
}
{
   "_id" : ObjectId("5e516771f8647eb59e562075"), "id" : 103, "ProductDetails" : [
      { "ProductId" : "Prod-104", "ProductName" : "Product-5" },
      { "ProductId" : "Prod-105", "ProductName" : "Product-6" }
   ]
}

다음은 MongoDB 컬렉션의 배열에 액세스하고 특정 문서를 가져오는 쿼리입니다. -

> db.demo326.find({"ProductDetails.ProductId":"Prod-104"});

이것은 다음과 같은 출력을 생성합니다 -

{
   "_id" : ObjectId("5e516771f8647eb59e562075"), "id" : 103, "ProductDetails" : [
      { "ProductId" : "Prod-104", "ProductName" : "Product-5" },
      { "ProductId" : "Prod-105", "ProductName" : "Product-6" }
   ] 
}