[英]Mongoose group nested object
假设我有一个人的集合,其中有一个人 object 及其相关数据。
{
_id: '1'
person:{
email:"bob@gmail.com"
traveled_to: 'North Korea',
someinfo:"random"
}
}
{
_id: '2'
person:{
email:"bob@gmail.com"
traveled_to: 'United States'
someinfo:"very random"
}
},
{
_id: '3'
person:{
email:"jack@gmail.com"
traveled_to: 'Russia'
someinfo:"super super random"
}
}
例如,我想将bob@gmail.com 分组并将他的信息存储在一个数组中
{
_id: '1'
person:{
email:"bob@gmail.com"
travels: [
{
traveled_to: 'North Korea',
someinfo:"random"
},
{
traveled_to: 'United States'
someinfo:"very random"
}
]
},
{
_id: '2'
email:"jack@gmail.com"
travels:[
{
traveled_to: 'Russia'
some_info:'super super random'
}
]
}
我试过这样的事情
People.aggregate([
{
$group: {
person: {
email: '$email',
},
},
},
]
虽然我得到了
MongoError:字段“人”必须是累加器 object
谢谢!
你必须有累加器 object mongoDB 正在对值进行分组
尝试这个
People.aggregate([
{
$group: {
_id: "$person.email",
traveled_to:{
$push:{
traveled_to: "$person.traveled_to",
someinfo: "$person.someinfo"
}
},
},
},
]
您必须使用“{}”括号包装 mongoose 架构。 喜欢->
People.aggregate({
[
{
$group: {
person: {
email: '$email',
},
},
},]
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.