Ich arbeite an einer MEAN Stack-App mit einer bereits vorhandenen MongoDB-Sammlung und wenn ich Bedingungen für .find() definieren, wurden keine Ergebnisse zurückgegeben, während es ohne Bedingungen funktioniert. HierMongoose .find() mit Bedingungen gibt kein Ergebnis zurück
ist der Code von meiner Modelldatei:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var mainSchema = new Schema({
id: Number,
x: Number,
y: Number,
prio: Number,
type0: String,
type1: String,
type2: String,
width: Number,
height: Number,
text1: String,
text2: String,
size1: Number,
font: String,
color1: String,
color2: String,
links: String,
peers: String
}, { collection: 'main' });
mainSchema.statics = {
load: function(l, t, r, b, cb){
console.log(l, t, r, b);
return this.find({
x: { $gt: l, $lt: r },
y: { $gt: t, $lt: b }
}).exec(cb);
}
};
module.exports = mongoose.model('main', mainSchema);
Dies ist ein Objekt aus der Ausgabe ohne Bedingungen:
[
{
"_id": "577faf952a7c33f2fe44b282",
"id": 4,
"x": 50944,
"y": 54995,
"prio": 1,
"type0": "a",
"type1": "a",
"type2": "a",
"width": 100,
"height": 100,
"text1": "Chemie",
"text2": "",
"size1": 48,
"font": "f1_a ",
"color1": "#000000",
"color2": "#bfdeff",
"links": "14,53445,57328,12,#ff3d3d,k&13,54744,53904,12,#8c8c86,k&12,52557,51870,12,#f2ff12,k&11,51172,49743,12,#2312ff,k&10,48270,47335,12,#49fe6e,k&",
"peers": "1"
}
]
Hier ist der Code, der die Last Methode aufruft:
var mongoose = require('mongoose');
var main = require('../models/main');
exports.load = function(req, res){
main.load(parseInt(req.query.l), parseInt(req.query.t), parseInt(req.query.r), parseInt(req.query.b), function(err, data) {
res.jsonp(data);
});
};
Wo ist der Code, der die Lade-Methode aufruft? – chridam
@chridam Danke für den Hinweis, ich habe den Code hinzugefügt. – Patrick
Ich glaube, dass Sie hier die falsche Modellinstanz aufrufen; anstelle von 'var Main = mongoose.model ('main', 'main', 'main');', warum kann man das tatsächliche Modell nicht als 'var Main = require ('../ models/main') bezeichnen ; 'und stelle sicher, dass du es am Ende in der Datei main.js als' module.exports = mongoose.model ('main', mainSchema); exportierst; '? – chridam