[MONGODB] 어떻게 $ 프로젝트는 MongoDB의 집계에 문자열 값 OBJECTID?
MONGODB어떻게 $ 프로젝트는 MongoDB의 집계에 문자열 값 OBJECTID?
내가 응답 대신 ObjectId가의 문자열을 얻을 집계 함수에서 사용할 수있는 연산자가 있습니까?
db.something.aggregate([
{ "$match": { "property": { "$exists": true } } },
{ "$project": { "stringId": "$_id.???" } }
])
해결법
-
==============================
1.MongoDB를 4.0 $의 toString 집계 연산자를 출시했다. 그래서, 지금 당신은 쉽게 문자열로 ObjectId가 변환 할 수 있습니다
MongoDB를 4.0 $의 toString 집계 연산자를 출시했다. 그래서, 지금 당신은 쉽게 문자열로 ObjectId가 변환 할 수 있습니다
db.collection.aggregate([ { $project: { _id: { $toString: "$_id" } } } ])
또는 사용 반대 반대 $ toObjectId 집계
db.collection.aggregate([ { $project: { _id: { $toObjectId: "$_id" } } } ])
-
==============================
2.직접 운영자는 ObjectId가에서 문자열을 얻을 집계 함수에 없습니다.
직접 운영자는 ObjectId가에서 문자열을 얻을 집계 함수에 없습니다.
버전 2.6 이후 당신은 문자열에 ObjectId가 변환 ObjectId.toString () 메소드를 사용할 수 있습니다. 먼저 일치하고 OBJECTID 전망이다. 그런 다음 ObjectID.toString를 사용하여 문자열이 개체 ID를 변환 할 수 있습니다 ().
db.something.aggregate([{"$match":{'property': {$exists:true}}},{"$project":{"_id":1}}])
그리고) (개체 결과 사용 ObjectID.tostring를 사용하여 응답으로 문자열을 얻을
편집 : 당신은 사용하여 개체 ID의 STR 속성에 액세스 할 수 있습니다
ObjectId가 ( "507f191e810c19729de860ea"). STR
출처 : MongoDB를 워드 프로세서
-
==============================
3.당신은 $의 CONCAT 연산자를 사용하여 인라인 그것을 할 수 있습니다 :
당신은 $의 CONCAT 연산자를 사용하여 인라인 그것을 할 수 있습니다 :
db.something.aggregate( [ { $match : { 'property' : { $exists:true } } }, { $project: { stringId: { $concat: [ ObjectId().str ] } } } ] )
from https://stackoverflow.com/questions/36059986/how-to-project-objectid-to-string-value-in-mongodb-aggregate by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 어떻게 동적으로 몽구스 스키마를 만드는 방법? (0) | 2019.12.23 |
---|---|
[MONGODB] ID가 아닌 필드와 몽구스 모델을 채 웁니다 (0) | 2019.12.23 |
[MONGODB] 어떻게 기본 드라이버를 MongoDB를 nodejs에서 ObjectId가 문자열을 변환하는? (0) | 2019.12.23 |
[MONGODB] 배열하여 MongoDB의 특정 필드 값으로 문서를 포함하지 않는 문서를 찾기 (0) | 2019.12.23 |
[MONGODB] MongoDB의에서 인덱스의 크기를 추정 할 수있는 도구가 있습니까? (0) | 2019.12.23 |