私のタイトルとして、$ match _idはMongoose集計関数では機能していません。 誰かが私を助けてくれますか? これはマングースバージョンに関連していますか? 4.9.2を使用します。 $一致を処理した後に結果をグループ化するので、集計を使用する必要があります。 私はすでに前に投稿を見たことがありますが、手動でキャスティングができませんでした!
は、ここに私のスキーマです:
var mongoose = require("mongoose");
var moment = require("moment");
var Schema = mongoose.Schema;
var AvgDailyCharging = new Schema({
_id : {
date: Date,
storeID: {
type: Schema.Types.ObjectId,
ref: 'store'
}
},
chargers: [{
transmitterID: {
type: Schema.Types.ObjectId,
ref: 'device'
},
minutes: Number
}],
});
mongoose.model('AvgDailyCharging', AvgDailyCharging);
そして、ここでのクエリです:
var Mongoose = require('mongoose');
var Model = require('../db/model');
var Query = require('../db/query');
var RESULT_LIMIT = 2000; // Limit the return data size
exports.getAvgDailyCharging = function(req, res) {
var id = new Mongoose.Types.ObjectId("58b43fdf0fd53910121ca6f4");
var query = new Query("AvgDailyCharging");
query.aggregate([
{
$match: {
"_id.storeID": id, //HELP!!!!!
"_id.date": { //match only by this works fine.
$gte: new Date(req.params.startTime),
$lt: new Date(req.params.endTime)
}
}
}
]).exec(function(error, data) {
if (error) {
res.send({result:'ERROR', message: error});
} else {
res.send(data);
}
});
}
私を助けてください!!!!私は数時間立ち往生した! Q_Q
最終的に達成しようとしていることは何ですか?私は、あなたが必要とするよりも「好き」であると感じています。 – Pytth
私はマッチ部分だけを記載しました。私の仕事は複雑なので、集計機能が必要です。ところで、私は問題を解決しました! _idのマッチは最新のバージョンでタイプキャストなしで動作します! –