[MONGODB] 어떻게 MongoDB의 컬렉션에서 모든 문서를 하나의 필드를 선택하려면?
MONGODB어떻게 MongoDB의 컬렉션에서 모든 문서를 하나의 필드를 선택하려면?
내 MongoDB를, 나는 10 개 개의 레코드는 필드 이름과 롤을 갖는 학생 컬렉션이 있습니다. 이 컬렉션의 한 기록은 다음과 같습니다
{
"_id" : ObjectId("53d9feff55d6b4dd1171dd9e"),
"name" : "Swati",
"roll" : "80",
}
난 단지 우리가 사용하여 기존의 데이터베이스에서하는 것처럼 컬렉션의 모든 10 개 개의 레코드에 대한 필드 롤을 검색 할 :
SELECT roll FROM student
나는 많은 블로그를 통해 갔다 그러나 모두가 있어야합니다 쿼리의 결과로되는 경우, 예를 들어 그것에 절 :
db.students.find({ "roll": { $gt: 70 })
쿼리는 동일합니다 :
SELECT * FROM student WHERE roll > 70
내 요구 사항은 어떤 조건없이 하나의 키를 찾을 수 있습니다. 그래서,에 대한 쿼리 작업은 무엇인가.
해결법
-
==============================
1.MongoDB를 워드 프로세서에서 :
MongoDB를 워드 프로세서에서 :
몽고에서의 사람들에서이 예에서, 반환 된 문서는 항목, 수량 및 _id의 필드 만 포함됩니다.
따라서, 당신은 같은 성명을 발표 할 수 있어야한다 :
db.student.find({}, {roll:1, _id:0})
위의 문장은 학생들 컬렉션에서 모든 문서를 선택하며, 반환 된 문서는 롤 필드를 반환합니다 (그리고 _id 제외).
우리가 _id 언급하지 않는 경우 : 반환 0 필드는 롤과 _id 될 것입니다. '_id'필드는 항상 기본적으로 표시됩니다. 0 롤과 함께 : 우리는 명시 적으로 _id 언급 할 필요가 그래서.
-
==============================
2.테이블의 모든 데이터를 얻을 수
테이블의 모든 데이터를 얻을 수
db.student.find({})
_id없이 테이블의 모든 데이터를 얻을 수
db.student.find({}, {_id:0})
_id 하나 개의 필드에서 모든 데이터를 얻을
db.student.find({}, {roll:1})
_id없이 하나 개의 필드에서 모든 데이터를 얻을 수
db.student.find({}, {roll:1, _id:0})
where 절을 사용하여 지정된 데이터를 찾을 수
db.student.find({roll: 80})
WHERE 조건보다 절 더 큰 사용하여 데이터를 찾을
db.student.find({ "roll": { $gt: 70 }}) // $gt is greater than
WHERE 절 및 초과하여 데이터를 검색하거나 동등한 조건
db.student.find({ "roll": { $gte: 70 }}) // $gte is greater than or equal
WHERE 절을 사용하여 데이터를 찾아보다 작거나 동일한 조건
db.student.find({ "roll": { $lte: 70 }}) // $lte is less than or equal
where 절을 사용하여 데이터를 찾을 적은 상태보다
db.student.find({ "roll": { $lt: 70 }}) // $lt is less than
-
==============================
3.여기 패턴 / Section 명령과 함께 또 다른 예는, mattingly890 정답이 있다고 생각
여기 패턴 / Section 명령과 함께 또 다른 예는, mattingly890 정답이 있다고 생각
db.collection.find ({}, {your_key : 1 _ID : 0})
-
==============================
4.여기에서, 지루한로, 최단를하는 3 가지 방법을 이동 :
여기에서, 지루한로, 최단를하는 3 가지 방법을 이동 :
db.student.find({}, 'roll _id'); // <--- Just multiple fields name space separated // OR db.student.find({}).select('roll _id'); // <--- Just multiple fields name space separated // OR db.student.find({}, {'roll' : 1 , '_id' : 1 ); // <---- Old lengthy boring way
특정 필드의 사용을 제거하려면 - 운영자 :
db.student.find({}).select('roll -_id') // <--- Will remove id from result
-
==============================
5.다만 교육 목적을 위해 당신은 또한 다음과 같은 방법으로 그것을 할 수 있습니다 :
다만 교육 목적을 위해 당신은 또한 다음과 같은 방법으로 그것을 할 수 있습니다 :
1.
var query = {"roll": {$gt: 70}; var cursor = db.student.find(query); cursor.project({"roll":1, "_id":0});
2.
var query = {"roll": {$gt: 70}; var projection = {"roll":1, "_id":0}; var cursor = db.student.find(query,projection);
`
-
==============================
6.다음 쿼리를보십시오 :
다음 쿼리를보십시오 :
db.student.find({}, {roll: 1, _id: 0}).pretty();
희망이 도움이!
-
==============================
7.
db.<collection>.find({}, {field1: <value>, field2: <value> ...})
귀하의 예제에서, 당신이 뭔가를 같이 할 수 있습니다 :
db.students.find({}, {"roll":true, "_id":false})
투사
{ field1: <value>, field2: <value> ... }
노트
읽기 더
-
==============================
8.gowtham의 대답이 완료하지만, 그 명령 (몽고의 쉘을 사용하지 않는 사람들을 위해) 다른 API에 다를 수 있음을 주목할 필요가있다. 자세한 정보를 원하시면 문서 링크를 참조하십시오.
gowtham의 대답이 완료하지만, 그 명령 (몽고의 쉘을 사용하지 않는 사람들을 위해) 다른 API에 다를 수 있음을 주목할 필요가있다. 자세한 정보를 원하시면 문서 링크를 참조하십시오.
Nodejs, 예를 들어, 당신이 프로젝트에 순서대로 찾기 기능에 추가 할 것`투사라는 방법이있다.
같은 예를 들어 설정에 따라, 다음과 같은 명령은 노드와 함께 사용할 수 있습니다 :
db.student.find ({}) 프로젝트 ({롤 : 1}).
또는 db.student.find ({}) 프로젝트 (롤 {1, _id : 0}).
등등.
다시 nodejs 사용자를 위해, 당신의 그 때는 명령을 추가하기 위해 toArray를 사용하는 (이전에이 API를 사용하는 경우에 당신은 이미 잘 알고 있어야 무엇을) 잊지 마세요.
-
==============================
9.이것은 나를 위해 작동
이것은 나를 위해 작동
db.student.find({},{"roll":1})
즉 WHERE 절에는없는 상태 내부 제 중괄호. 다음 괄호 안에 : 투사 필드 이름의 목록 결과에 필요하고도 1은 특정 필드는 쿼리 결과의 일부입니다 표시한다
-
==============================
10.더 나은 이해를 위해 나는 비슷한 MySQL의 쿼리를 작성했습니다.
더 나은 이해를 위해 나는 비슷한 MySQL의 쿼리를 작성했습니다.
Selecting specific fields
Selecting specific fields with where clause
-
==============================
11.
student-details = db.students.find({{ "roll": {$gt: 70} },{"name": 1, "_id": False})
student-details = db.students.find({{ "roll": {$gt: 70}},{"name": 1,"roll":1,"_id": False})
-
==============================
12.u는 단지 컬렉션의 모든 10 개 개의 레코드에 대한 필드 "롤"을 검색합니다. 그런 다음이 시도.
u는 단지 컬렉션의 모든 10 개 개의 레코드에 대한 필드 "롤"을 검색합니다. 그런 다음이 시도.
MongoDB의에서 :
SQL에서 :
-
==============================
13.MongoDB를 여기에 수수료에 대한 쿼리를 수집하고 설명 필드입니다.
MongoDB를 여기에 수수료에 대한 쿼리를 수집하고 설명 필드입니다.
db.getCollection('fees').find({},{description:1,_id:0})
-
==============================
14.
db.student.find({}, {"roll":1, "_id":0})
이것은 동일합니다 -
db.student.find ({}, { "롤"1 "이름"1 "_id": 0})
이것은 동일합니다 -
-
==============================
15.쉘에서 다음과 같은 쿼리를 사용 :
쉘에서 다음과 같은 쿼리를 사용 :
1. 데이터베이스 _
e.g: use database_name
일치하는 경우에만 자산을 특정 필드 정보를 반환 2. _ID : 결과의 디스플레이 ID 0을 지정하지
db.collection_name.find( { "Search_Field": "value" }, { "Field_to_display": 1,_id:0 } )
-
==============================
16.MongoDB를 3.4에서 우리는 내가 이전 버전에 대해 확실하지 오전, 논리 아래로 사용할 수 있습니다
MongoDB를 3.4에서 우리는 내가 이전 버전에 대해 확실하지 오전, 논리 아래로 사용할 수 있습니다
학생에서 롤을 선택 ==> db.student.find ({}, {롤 : 1}!)
(가 작은 경우) 위의 논리는 약간의 열을 정의하는 데 도움이
-
==============================
17.난 그냥 당신이 다른 개체에 중첩되어있는 필드를 표시하려면, 다음과 같은 구문을 사용할 수있는 답변에 추가 할
난 그냥 당신이 다른 개체에 중첩되어있는 필드를 표시하려면, 다음과 같은 구문을 사용할 수있는 답변에 추가 할
db.collection.find ({}, {{ 'object.key'진정한}})
여기서 키 오브젝트라는 오브젝트 내부에 존재
{ "_id" : ObjectId("5d2ef0702385"), "object" : { "key" : "value" } }
-
==============================
18.내가 .find 사용하는 경우, MongoDB를위한 스튜디오 3T를 사용하여 ({}, {_id : 0, 롤 : TRUE})는 여전히 빈 _id 속성과 객체의 배열을 반환합니다.
내가 .find 사용하는 경우, MongoDB를위한 스튜디오 3T를 사용하여 ({}, {_id : 0, 롤 : TRUE})는 여전히 빈 _id 속성과 객체의 배열을 반환합니다.
단지 문자열의 배열로 원하는 롤 속성을 검색 자바 스크립트 맵을 저를 도왔 사용 :
var rolls = db.student .find({ roll: { $gt: 70 } }) // query where role > 70 .map(x => x.roll); // return an array of role
from https://stackoverflow.com/questions/25589113/how-to-select-a-single-field-for-all-documents-in-a-mongodb-collection by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] MongoDB의 몽구스의 E11000 중복 키 에러 인덱스 (0) | 2019.11.30 |
---|---|
[MONGODB] DB에서 검색 한 데이터를 반환의 문제는 루프에서 호출 쿼리하여 (0) | 2019.11.30 |
[MONGODB] MongoDB를는 : 배열의 항목 수를 카운트 (0) | 2019.11.30 |
[MONGODB] 몽구스는 항상 빈 배열 NodeJS를 반환 (0) | 2019.11.30 |
[MONGODB] 당신은 몽고에서 $ addToSet에 대한 키를 지정할 수 있습니까? (0) | 2019.11.30 |