Ich habe ein Schema in userref.js definiertMongoose finde die Arbeit nicht mit ObjectId
module.exports = (function userref() {
var Schema = mongoose.Schema;
var newSchema= new Schema([{
userId: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
index: true
},
value: { type: Number }
}]);
var results = mongoose.model('UserRef', newSchema);
return results;
})();
Ich habe einige Daten eingefügt und wenn ich versuche, einige Daten zu holen ich die richtigen Werte von mongodb Konsole
db.getCollection('userrefs').find({'userId':ObjectId('57a48fa57429b91000e224a6')})
bin immer
Es gibt richtig einige Daten
Jetzt Problem ist, dass wenn ich versuche, einige Daten in Code zu holen, indem ich objectId leeres Array bin immer. In unten Funktion userrefs wird als leeres Array zurückgegeben
//req.params.userId=57a48fa57429b91000e224a6
var UserRef = require('../userref.js');
this.getuserref = function (req, res, next) {
try {
var o_userId =mongoose.Types.ObjectId(req.params.userId);
var query = { userId: o_userId };
var projection = '_id userId value';
UserRef.find(query, projection, function (err, usrrefs) {
if (err) return next(err);
res.send(usrrefs);
console.log("userref fetched Properly");
});
} catch (err) {
console.log('Error While Fetching ' + err);
return next(err);
}
};
Auch wenn ich Code debuggen kann ich o_userId als objectId mit id-Wert als einige Junk-Zeichen
o_userId: ObjectID
_bsontype: "ObjectID"
id: "W¤¥t)¹â$¦"
Sie benötigen eine Reihe von userId in einem einzigen Dokument? oder eine userId pro Dokument? –
Ich bekomme Emty-Array von Code – anand
Haben Sie versucht, ohne auf ObjectId zu werfen, wie Mungoose das für Sie intern tut d. H. 'Var query = {userId: req.params.userId};'? – chridam