小编Pel*_*ani的帖子

Mongo组和推:推动所有领域

有没有一种简单的方法来"$ push"文档的所有字段?例如:

说我有一本Mongo书籍集:

{author: "tolstoy", title:"war & peace", price:100, pages:800}
{author: "tolstoy", title:"Ivan Ilyich", price:50,  pages:100}
Run Code Online (Sandbox Code Playgroud)

我想按作者对它们进行分组 - 对于每个作者,列出他的整个书籍对象:

{ author: "tolstoy",
  books: [
     {author: "tolstoy", title:"war & peace", price:100, pages:800}
     {author: "tolstoy", title:"Ivan Ilyich", price:50,  pages:100}
  ]
}
Run Code Online (Sandbox Code Playgroud)

我可以通过明确推送所有字段来实现这一点:

{$group: {
     _id: "$author",
     books:{$push: {author:"$author", title:"$title", price:"$price", pages:"$pages"}},
}}
Run Code Online (Sandbox Code Playgroud)

但是有没有捷径,有以下几点:

// Fictional syntax...
{$group: {
    _id: "$author",
    books:{$push: "$.*"},
}}
Run Code Online (Sandbox Code Playgroud)

mongodb

36
推荐指数
2
解决办法
3万
查看次数

标签 统计

mongodb ×1