我这样定义的数据模型:关于mongoDB的聚合难题?
import mongoose from 'mongoose';
const schema = mongoose.Schema({
title: {type: String, required: true},
content: {type: String, required: true},
language: {type: String, required: true},
label: [{type: String, required: false}],
createTime: {type: Date, default: Date.now},
updateTime: {type: Date, default: Date.now}
});
const Snippet = mongoose.model('Snippet', schema, 'snippet');
export default Snippet;
我想要的是,当我使用:
Snippet.aggregate({...})
,如果数据是:
[{
title: 'a',
content: 'b',
language: 'javascript'
},{
title: 'a',
content: 'b',
language: 'javascript',
label: ['new', 'old']
},
{
title: 'a',
content: 'b',
language: 'javascript',
label: ['old']
}]
那么结果就是我想要的是这样的:
{
languageCount : [
{
language : 'javascript',
count : 3
}],
labelCount : [
{
label : 'new',
count : 1
},
{
label : 'old',
count : 2
}]
}
我不知道如何完成我的“...”部分。
任何有任何想法或任何其他方式的人都可以解决它请告诉我,非常感谢!
你的'mongod'版本是什么? – styvane
我的mongod版本是3.2.1。如果你可以使用一些基于最新版本的功能,我可以。 –