[MONGODB] 몽고 그룹 푸시 : 모든 필드를 밀어
MONGODB몽고 그룹 푸시 : 모든 필드를 밀어
"$ 푸시"문서의 모든 분야에 쉽게 방법이 있나요? 예를 들면 :
나는이 책의 몽고의 컬렉션이 말 :
{author: "tolstoy", title:"war & peace", price:100, pages:800}
{author: "tolstoy", title:"Ivan Ilyich", price:50, pages:100}
나는 저자에 의해 그룹화하고 싶습니다 - 각 저자 목록에서 자신의 책 전체 개체에 대해 :
{ author: "tolstoy",
books: [
{author: "tolstoy", title:"war & peace", price:100, pages:800}
{author: "tolstoy", title:"Ivan Ilyich", price:50, pages:100}
]
}
내가 명시 적으로 모든 필드를 밀어하여이 작업을 수행 할 수 있습니다 :
{$group: {
_id: "$author",
books:{$push: {author:"$author", title:"$title", price:"$price", pages:"$pages"}},
}}
그러나 어떤 바로 가기의 라인에 뭔가가있다 :
// Fictional syntax...
{$group: {
_id: "$author",
books:{$push: "$.*"},
}}
해결법
-
==============================
1.당신은 $$ ROOT를 사용할 수 있습니다
당신은 $$ ROOT를 사용할 수 있습니다
{ $group : { _id : "$author", books: { $push : "$$ROOT" } }}
여기 찾았 MongoDB를 집계을 사용하여 전체 문서를 검색하는 방법
-
==============================
2.사실 당신은 당신이 전혀 무슨 말을 달성하지 못할, 당신은 언 와인드 $ 필요
사실 당신은 당신이 전혀 무슨 말을 달성하지 못할, 당신은 언 와인드 $ 필요
db.collection.aggregate([ {$unwind: "$books"}, {$group: { _id: "$author", books:{$push: { author:"$books.author", title:"$books.title", price:"$books.price", pages:"$books.pages" }}, }} ])
즉, 집합의 배열을 다루는 방법이다.
그리고 당신은 모든 필드를 입력 바로 가기 찾고있는 것을 아직 존재하지 않습니다.
당신이 방법에 그러나 특별히 때문에 당신이 다음 무엇을해야 당신이 문서를 재편, 어쨌든 할 수 없었다.
-
==============================
3.문제는 당신이 명시 적으로 모든 필드를 작성하지 않을 것입니다 (문서가 많은 분야가 있다면 당신은 결과에 모두 필요) 경우에는지도-감소와 함께 할을 시도 할 수 있습니다 :
문제는 당신이 명시 적으로 모든 필드를 작성하지 않을 것입니다 (문서가 많은 분야가 있다면 당신은 결과에 모두 필요) 경우에는지도-감소와 함께 할을 시도 할 수 있습니다 :
db.books.mapReduce( function () { emit(this.author, this); }, function (key, values) { return { books: values }; }, { out: { inline: 1 }, finalize: function (key, reducedVal) { return reducedVal.books; } } )
from https://stackoverflow.com/questions/22150205/mongo-group-and-push-pushing-all-fields by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] 문서에서 다른 필드의 값을 업데이트 필드 [중복] (0) | 2019.12.17 |
---|---|
[MONGODB] PHP MongoDB를 : 치명적인 오류 : 클래스 'MongoClient'을 (를) 찾을 수 없습니다 (0) | 2019.12.17 |
[MONGODB] MongoDB의 여러 컬렉션에서 검색 (0) | 2019.12.17 |
[MONGODB] 어떻게 화합물 인덱스의 순서는 MongoDB의 성능 현명한에 문제가 있습니까? (0) | 2019.12.17 |
[MONGODB] MongoDB의 : 배열 매칭 매개 변수에서 하위 문서 찾기 (0) | 2019.12.17 |