-1
:私は私が必要正確に得たものモンゴDBの違いはMongoDBの中で次のクエリを実行する(3.2.7)シェルと
db.coll.aggregate({$group: {_id : '$Name', count : {$sum: 1 }}}, {$project: { _id:0, Name: '$_id', count: 1 }})
:
{ "count" : 4, "Name" : "Name1" }
{ "count" : 5, "Name" : "Name2" }
{ "count" : 1, "Name" : "Name3" }
{ "count" : 9, "Name" : "Name4" }
私はこの凝集を使用したいですNodeJSに(MongoDBのノードモジュール2.2.5)ので、私はAPIを定義:
app.get('/api', function(req, res){
db.collection('coll').aggregate({$group: {_id : '$Name', count : {$sum: 1 }}}, {$project: { _id: 0, Name: '$_id', count: 1 }}).toArray(function(err, docs) {
if (err) {
assert.equal(null);
}
else {
console.log(docs);
res.json(docs);
}
});
});
私はこのAPIを実行すると、私は、レガールに異なる結果を得シェルの結果にds:
[{"_id":"Name1","count":4},{"_id":"Name2","count":5},{"_id":"Name3","count":1},{"_id":"Name4","count":9}]
誰もがなぜそうですか? NodeJS APIでは$project
関数が実行されていないようです。