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

MongoDB를 사용하여 다양한 형식의 특정 데이터를 얻는 방법은 무엇입니까?

<시간/>

이를 위해 단순히 find()를 사용하십시오. 다른 형식의 경우 pretty()를 사용하십시오. 먼저 문서로 컬렉션을 만들어 보겠습니다. −

> db.getSpecificData.insertOne(
... {
...    "StudentName": "John",
...    "Information": {
...       "FatherName": "Chris",
...       "Place": {
...          "CountryName": "US",
...          "ZipCode":"111344"
...       },
...       "id": "1"
...    }
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e039abdf5e889d7a5199509")
}
> db.getSpecificData.insertOne(
...    {
...       "StudentName": "Carol",
...       "Information": {
...          "FatherName": "Robert",
...          "Place": {
...             "CountryName": "UK",
...             "ZipCode":"746464"
...          },
...          "id": "2"
...       }
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e039ae6f5e889d7a519950a")
}
>
> db.getSpecificData.insertOne(
... {
...    "StudentName": "David",
...    "Information": {
...       "FatherName": "Carol",
...       "Place": {
...          "CountryName": "US",
...          "ZipCode":"567334"
...       },
...    "id": "3"
...    }
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e039ae7f5e889d7a519950b")
}
>
> db.getSpecificData.insertOne(
...    {
...       "StudentName": "Jace",
...       "Information": {
...          "FatherName": "Bob",
...          "Place": {
...             "CountryName": "US",
...             "ZipCode":"999999"
...          },
...          "id": "4"
...       }
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e039ae8f5e889d7a519950c")
}

다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다. -

> db.getSpecificData.find({'Information.Place.CountryName':"US"}, {}, {limit: 2}, function(error, data) {}).pretty();

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

{
   "_id" : ObjectId("5e039abdf5e889d7a5199509"),
   "StudentName" : "John",
   "Information" : {
      "FatherName" : "Chris",
      "Place" : {
         "CountryName" : "US",
         "ZipCode" : "111344"
      },
   "id" : "1"
   }
}
{
   "_id" : ObjectId("5e039ae7f5e889d7a519950b"),
   "StudentName" : "David",
   "Information" : {
      "FatherName" : "Carol",
      "Place" : {
         "CountryName" : "US",
         "ZipCode" : "567334"
      },
   "id" : "3"
   }
}
{
   "_id" : ObjectId("5e039ae8f5e889d7a519950c"),
   "StudentName" : "Jace",
   "Information" : {
      "FatherName" : "Bob",
      "Place" : {
         "CountryName" : "US",
         "ZipCode" : "999999"
      },
   "id" : "4"
   }
}

다음은 다른 형식의 특정 데이터를 가져오는 쿼리입니다. −

> db.getSpecificData.find({'Information.Place.CountryName':"US"}, {}).limit(2);

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

{ "_id" : ObjectId("5e039abdf5e889d7a5199509"), "StudentName" : "John", "Information" : { "FatherName" : "Chris", "Place" : { "CountryName" : "US", "ZipCode" : "111344" }, "id" : "1" } }
{ "_id" : ObjectId("5e039ae7f5e889d7a519950b"), "StudentName" : "David", "Information" : { "FatherName" : "Carol", "Place" : { "CountryName" : "US", "ZipCode" : "567334" }, "id" : "3" } }