я определил модель данных, как это:Агрегация головоломки о 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. Если вы можете использовать некоторую функцию на основе новейшей версии, я в порядке с ней. –