在非空的MongoDB集合中找不到任何条目

时间:2018-11-17 16:21:06

标签: node.js mongodb mongoose

我有这个模式:

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 中:

enter image description here

但是当我尝试运行此查询时,结果是一个空数组:

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);

    });
};

为什么?

1 个答案:

答案 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) {
    });
};

这应该可行。