0
作为我的标题,$ match _id在Mongoose集合函数中不起作用。 有人可以帮我吗? 这与猫鼬版本有关吗? 我使用4.9.2。 我需要使用聚合,因为在处理$ match之后,我将按结果进行分组。 我已经看过帖子了,但是手工铸造对我来说没有用!
这里是我的架构:
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作品,无需在最新版本中进行类型转换! –