Wie mein Titel funktioniert $ match _id nicht in Mongoose-Aggregatfunktion. Könnte mir bitte jemand helfen? Bezieht sich dies auf die Mungo-Version? Ich benutze 4.9.2. Ich muss Aggregat verwenden, weil ich nach der Verarbeitung des $ match durch das Ergebnis gruppieren werde. Ich habe schon Posts gesehen, aber das manuelle Casting funktionierte nicht für mich!
Hier ist mein Schema:
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);
Und hier ist die Abfrage:
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);
}
});
}
Bitte helfen Sie mir !!!! Ich steckte mehrere Stunden fest! Q_Q
Was versuchen Sie letztlich zu erreichen? Ich habe das Gefühl, dass du "schicker" bist, als du sein musst. – Pytth
Ich habe nur den Spielteil aufgelistet. Meine Arbeit ist kompliziert, daher weiß ich, dass die Aggregatfunktion benötigt wird. Nebenbei, ich habe das Problem gelöst! Match auf _id funktioniert ohne Typcasting in der neuesten Version! –