我有这个模式:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var UsersCoursesSchema = new Schema({
_User: {
type: Schema.Types.ObjectId,
ref: 'Users'
},
_Course: {
type: Schema.Types.ObjectId,
ref: 'Courses'
}
});
此文档位于 MongoDB 中:
但是当我尝试运行此查询时,结果是一个空数组:
var mongoose = require('mongoose');
var UsersCourses = mongoose.model('UsersCourses');
exports.getUserCourses = function(req, res) {
UsersCourses.find({}, function(err, userCourses) {
if (err)
res.send(err);
res.json(userCourses);
});
};
为什么?
答案 0 :(得分:0)
尝试在双引号中添加_userId键,并按如下所示删除新的键:
exports.getUserCourses = function(req, res) {
UserCourses.find({"_User": ObjectId("5bef2b759d8e490944af9e96")}, function(err, userCourses) {
});
};
也尝试使用此快捷方式:
exports.getUserCourses = function(req, res) {
UserCourses.find(ObjectId("5bef2b759d8e490944af9e96"), function(err, userCourses) {
});
};
这应该可行。