次の例が正常に実行されると、mongodbのテーブルがテストされ、文字「s」が自動的に追加されます。これは落とし穴です。!!
var mongoose = require( "mongoose");
mongoose.connect( "mongodb://192.168.1.17:27017 / test"、function(e){if(e)
console.log(e.message);
console.log( "connect ok!");
});
var Schema =
mongoose.Schema ; //モデルを作成します varuserScheMa = new Schema({
carrier:String、
lang:String、
impCount:Number、
clickCount:Number、
}); //新しいモデルが定義されていますが、このモデルも定義されていますtest_tableコレクションに関連付けられていませんvardata
= mongoose.model( 'test_table'、userScheMa); // test_tableコレクションに
関連付けられています exports.query = function(req、res){
var key1 = {carrier: "$ carrier"、lang : "$ lang"}
var query1 = {'$ or':[{'impCount':{'$ gt':3}}、 {'impCount':{'$ lt':16}}]}
var sort1 = {os:-1}
var limit1 = 3
var skip1 = 0
data.aggregate(
[
{$ match:query1}、
{$ group:{_ id:key1、ImpCount:{$ sum: "$ impCount"}、 ClickCount:{$ sum: "$ clickCount"}}}、
{$ sort:sort1}、
{$ limit:limit1}、
{$ skip:skip1}
]、function(e、docs)
{
if(e)
console.log (e.message);
res.send(JSON.stringify(docs));
}
);
};