Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 猫鼬按参考ID查找_Node.js_Mongodb_Express_Mongoose - Fatal编程技术网

Node.js 猫鼬按参考ID查找

Node.js 猫鼬按参考ID查找,node.js,mongodb,express,mongoose,Node.js,Mongodb,Express,Mongoose,所以我有两个模式,用户和公司 const UserSchema = new mongoose.Schema({ _createdAt: Date, company: {type: mongoose.Schema.Types.ObjectId, ref: 'company'}, email: String, }); const CompanySchema = new mongoose.Schema({ _createdAt: { type: Da

所以我有两个模式,用户和公司

const UserSchema = new mongoose.Schema({
    _createdAt: Date,
    company: {type: mongoose.Schema.Types.ObjectId, ref: 'company'},
    email: String,
});


const CompanySchema = new mongoose.Schema({
    _createdAt: {
        type: Date,
        required: true
    },
    name: {
        type: String,
        required: true
    }
});

const userModel = mongoose.model("user", UserSchema, "user");
const companyModel = mongoose.model("company", CompanySchema, "company");
我现在想通过公司id查询特定用户,但由于某些原因,这不起作用,它返回一个空数组,即使我的数据库中有一个用户具有确切的公司ObjectId

userModel.find({company: "5cfa4352ffc1c8135d8276a4"})
         .exec((err, user) => {
             console.log(user);
         }
在我的mongo shell中

db.user.find({company: "5cfa4352ffc1c8135d8276a4"})

按预期返回用户,为什么在mongoose中不起作用?提前感谢

如果您想通过该id查找,您可能需要执行以下操作:

const mongojs = require('mongojs');
const ObjectId = mongojs.ObjectId;

db.user.find({company: ObjectId("5cfa4352ffc1c8135d8276a4")})
由于您使用的是moongose,因此可以获得如下ObjectId:

const mongoose = require('mongoose');
const objectId = mongoose.Types.ObjectId('569ed8269353e9f4c51617aa')

如果您想通过该id查找,您可能需要执行以下操作:

const mongojs = require('mongojs');
const ObjectId = mongojs.ObjectId;

db.user.find({company: ObjectId("5cfa4352ffc1c8135d8276a4")})
由于您使用的是moongose,因此可以获得如下ObjectId:

const mongoose = require('mongoose');
const objectId = mongoose.Types.ObjectId('569ed8269353e9f4c51617aa')
试试这个

const ObjectId = require('mongodb').ObjectID;
然后

我希望它能起作用

试试这个

const ObjectId = require('mongodb').ObjectID;
然后


我希望它能起作用

不,我以前试过,它也不起作用,而且如果我查询用户id,我也不需要这个语法,thx用于响应尽管我以前试过,它也不起作用,而且如果我查询用户id,我也不需要这个语法,thx用于响应