> 데이터 베이스 > 몽고DB > Collection.find()는 항상 MongoDB의 모든 필드를 반환합니까?

Collection.find()는 항상 MongoDB의 모든 필드를 반환합니까?

WBOY
풀어 주다: 2023-09-08 09:13:03
앞으로
1134명이 탐색했습니다.

collection.find() 总是返回 MongoDB 的所有字段?

다음 구문을 사용하여 collection.find()에서 특정 필드를 반환할 수 있습니다.

사례 1 - 구문은 다음과 같습니다. -

db.yourCollectionName.find({},{"yourFieldName":1}).pretty();
로그인 후 복사

위 필드 이름은 1로 설정되어 해당 필드만 반환한다는 의미입니다. 0으로 설정하면 0으로 설정된 필드를 제외한 모든 필드가 반환됩니다.

Case 2 - 구문은 다음과 같습니다. -

db.yourCollectionName.find({},{"yourFieldName":0}).pretty();
로그인 후 복사

위 구문을 이해하기 위해 document를 사용하여 컬렉션을 생성해 보겠습니다. 문서를 사용하여 컬렉션을 생성하는 쿼리는 다음과 같습니다.

> db.returnFieldInFindDemo.insertOne({"StudentName":"John","StudentAge":23,"TechnicalSubject":["MongoDB","MySQL"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8ebfe72f684a30fbdfd566")
}
> db.returnFieldInFindDemo.insertOne({"StudentName":"Mike","StudentAge":24,"TechnicalSubject":["Java","Python"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8ebffd2f684a30fbdfd567")
}
> db.returnFieldInFindDemo.insertOne({"StudentName":"Sam","StudentAge":22,"TechnicalSubject":["C","C++"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8ec00f2f684a30fbdfd568")
}
> db.returnFieldInFindDemo.insertOne({"StudentName":"Carol","StudentAge":20,"TechnicalSubject":["DataStructure","Algorithm"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c8ec0292f684a30fbdfd569")
}
로그인 후 복사

find() 메소드를 사용하여 컬렉션에 있는 모든 문서를 표시합니다. 쿼리는 다음과 같습니다. -

> db.returnFieldInFindDemo.find().pretty();
로그인 후 복사
로그인 후 복사

아래는 출력입니다. -

{
   "_id" : ObjectId("5c8ebfe72f684a30fbdfd566"),
   "StudentName" : "John",
   "StudentAge" : 23,
   "TechnicalSubject" : [
      "MongoDB",
      "MySQL"
   ]
}
{
   "_id" : ObjectId("5c8ebffd2f684a30fbdfd567"),
   "StudentName" : "Mike",
   "StudentAge" : 24,
   "TechnicalSubject" : [
      "Java",
      "Python"
   ]
}
{
   "_id" : ObjectId("5c8ec00f2f684a30fbdfd568"),
   "StudentName" : "Sam",
   "StudentAge" : 22,
   "TechnicalSubject" : [
      "C",
      "C++"
   ]
}
{
   "_id" : ObjectId("5c8ec0292f684a30fbdfd569"),
   "StudentName" : "Carol",
   "StudentAge" : 20,
   "TechnicalSubject" : [
      "DataStructure",
      "Algorithm"
   ]
}
로그인 후 복사
로그인 후 복사

Case 1 - 특정 필드를 반환하는 쿼리입니다.

쿼리는 다음과 같습니다. -

> db.returnFieldInFindDemo.find().pretty();
로그인 후 복사
로그인 후 복사

출력:

{
   "_id" : ObjectId("5c8ebfe72f684a30fbdfd566"),
   "StudentName" : "John",
   "StudentAge" : 23,
   "TechnicalSubject" : [
      "MongoDB",
      "MySQL"
   ]
}
{
   "_id" : ObjectId("5c8ebffd2f684a30fbdfd567"),
   "StudentName" : "Mike",
   "StudentAge" : 24,
   "TechnicalSubject" : [
      "Java",
      "Python"
   ]
}
{
   "_id" : ObjectId("5c8ec00f2f684a30fbdfd568"),
   "StudentName" : "Sam",
   "StudentAge" : 22,
   "TechnicalSubject" : [
      "C",
      "C++"
   ]
}
{
   "_id" : ObjectId("5c8ec0292f684a30fbdfd569"),
   "StudentName" : "Carol",
   "StudentAge" : 20,
   "TechnicalSubject" : [
      "DataStructure",
      "Algorithm"
   ]
}
로그인 후 복사
로그인 후 복사

위 출력 예를 보면 "TechnicalSubject" 필드를 1로 초기화했습니다. 이는 모든 문서에서 "TechnicalSubject" 필드만 반환한다는 의미입니다.

Case 2

Case 2

Strong> - 두 번째 경우 "TechnicalSubject" 필드를 0으로 설정하면 "TechnicalSubject"를 제외한 모든 필드를 가져오게 됩니다.

쿼리는 다음과 같습니다. -

> db.retunFieldInFindDemo.find({},{"TechnicalSubject":0}).pretty();
로그인 후 복사

출력은 다음과 같습니다.

{
   "_id" : ObjectId("5c8ebfe72f684a30fbdfd566"),
   "StudentName" : "John",
   "StudentAge" : 23
}
{
   "_id" : ObjectId("5c8ebffd2f684a30fbdfd567"),
   "StudentName" : "Mike",
   "StudentAge" : 24
}
{
   "_id" : ObjectId("5c8ec00f2f684a30fbdfd568"),
   "StudentName" : "Sam",
   "StudentAge" : 22
}
{
   "_id" : ObjectId("5c8ec0292f684a30fbdfd569"),
   "StudentName" : "Carol",
   "StudentAge" : 20
}
로그인 후 복사

Case 3 - 아시다시피 find()만 사용하면 모든 필드가 반환됩니다.

쿼리는 다음과 같습니다. -

> db.retunFieldInFindDemo.find();
로그인 후 복사

다음은 출력입니다.

{ "_id" : ObjectId("5c8ebfe72f684a30fbdfd566"), "StudentName" : "John", "StudentAge" : 23, "TechnicalSubject" : [ "MongoDB", "MySQL" ] }
{ "_id" : ObjectId("5c8ebffd2f684a30fbdfd567"), "StudentName" : "Mike", "StudentAge" : 24, "TechnicalSubject" : [ "Java", "Python" ] }
{ "_id" : ObjectId("5c8ec00f2f684a30fbdfd568"), "StudentName" : "Sam", "StudentAge" : 22, "TechnicalSubject" : [ "C", "C++" ] }
{ "_id" : ObjectId("5c8ec0292f684a30fbdfd569"), "StudentName" : "Carol", "StudentAge" : 20, "TechnicalSubject" : [ "DataStructure", "Algorithm" ] }
로그인 후 복사

위 내용은 Collection.find()는 항상 MongoDB의 모든 필드를 반환합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿