반응형
MongoDB: 정적 값을 가진 $project 추가 필드를 집계합니다.
정적(계산되지 않음) 값을 가진 사용자 지정 필드를 어떻게든 추가할 수 있습니까?
보내기 전에 객체를 준비하고 내부 정보가 있는 필드를 제거하고 엔티티 ID가 있는 필드를 추가해야 합니다.
예를 들어 이와 같은 개체를 사용하는 컬렉션 "테스트"가 있습니다.
{_id: ObjectId(...), data: {...}}
그리고 나는 그것을 변환해야 합니다.
{data: {...}, entity_id: 54}
그렇다면 어떻게 코드에서 결과를 루프하지 않고 entity_id: 54를 추가할 수 있습니까?
db.test.aggregate({ $project: {_id: 0, data: 1, entity_id: ? } })
감사해요.
$literal은 Mongo 2.6에서 구현되었습니다.이제 다음과 같이 간단히 작성할 수 있습니다.
db.test.aggregate(
{$project: {_id: 0, data: 1, entity_id: {$literal: 54}}})
2.6 기준으로 편집$literal식이 존재하므로 지금 해결 방법을 사용할 필요가 없습니다.
원래 답변: 이것이 정말 멍청하게 들릴 수도 있지만, "no-op" 표현을 사용하여 필요한 것을 "계산"할 수 있습니다.
예:
db.test.aggregate( { $project : {_id:0, data:1, entity_id: {$add: [54]} } } )
제안된 것이 있습니다.$literal정확히 이 사용 사례에 대한 운영자이지만 아직 구현되지 않았습니다. 여기서 투표할 수 있습니다.
언급URL : https://stackoverflow.com/questions/15110822/mongodb-aggregate-project-add-field-with-static-value
반응형
'programing' 카테고리의 다른 글
| Mongoid 해시 필드에 대한 쿼리 (0) | 2023.07.12 |
|---|---|
| mongodb에 동기식으로 연결 (0) | 2023.07.12 |
| C 열거형 정의의 값에 Bitwise-Shift 연산자를 사용하는 이유는 무엇입니까? (0) | 2023.07.12 |
| dplyr을 사용한 여러 열의 합계 (0) | 2023.07.12 |
| 해시에서 키를 제거하고 Ruby/Rails에서 나머지 해시를 가져오는 방법은 무엇입니까? (0) | 2023.07.12 |