私はmongoose、 と一緒に作業していますが、値は他の特定のフィールドの合計である新しいフィールドを含むフィールドを選択したいと思います。 たとえば、次のようなモデルスキーマがあります。新しいフィールドを含む新しいフィールドを含む値を選択する方法は、特定のフィールドの他のフィールドの合計です
const monsterSchema = new Schema({
name: { type: String },
power: { type: Number },
armor: { type: Number },
});
'name'、 'power'、 'armor'、 'total'の各フィールドを持つレコードを選択します。 フィールドには、 'power'と 'armor'の合計値があります。
どうすればいいですか?
あなたが追加することができますMonster.aggregate([
{
"$project": {
"name": 1,
"power": 1,
"armor": 1,
"new_field": { "$add": [ "$power", "$armor" ] }
}
}
]).exec(function(err, result){
if(err) handleError(err);
console.log(JSON.stringify(result, null, 4));
})
ありがとう。万が一、人口を集めた後、どうやってそれをやることができるのか分かりますか?例えば、このように 'Collection.find()。populate(' _ monster ')。aggregate(.....' Monsterのフィールドだけでなく、 'new field'を作成するためのCollectionのフィールドも必要です。他の特定のフィールドの合計 – Benjamin
元の質問に対する回答を受け取った後に質問が進展するので、新しい質問を作成する必要がありますが、変更によって変更が反映されず、あなたの質問に答えるのに十分です。 – chridam
私はちょうど別の質問をしました。[リンク](http://stackoverflow.com/questions/39514079/how-to-aggregate-after-populate-with-mongoose) – Benjamin