Node.js-从不同文件创建与Mongoose的关系

Node.js-从不同文件创建与Mongoose的关系,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我在不同的文件中有两个模式产品和用户产品属于用户和用户有许多产品 问题是,我曾尝试使用Populate,但不知何故,它返回的不是我期望的结果 这是我在products.js上的产品模型模式 这是我在models users.js上的用户模式 目前,我通过调用每个模型使用find方法 User.findOne({"sessionToken" : bearerHeader}, function (err, user){ Product.find({"user_id" : user._id}, f

我在不同的文件中有两个模式
产品
用户
<代码>产品属于
用户
用户
有许多
产品

问题是,我曾尝试使用Populate,但不知何故,它返回的不是我期望的结果

这是我在products.js上的产品模型模式

这是我在models users.js上的用户模式

目前,我通过调用每个模型使用find方法

User.findOne({"sessionToken" : bearerHeader}, function (err, user){
  Product.find({"user_id" : user._id}, function (err, products){
    console.log(products);
  });
});
但是,如果有与其他模型相关的问题,则需要时间。 我用这个打电话给Populate

 Product.findOne({}).populate('_user').exec(function(err, p){
    console.log(p);
  });
但是属性
\u user
未设置且未定义

有什么帮助吗?
谢谢

我认为您的ref是错误的,因为它引用的是uset模型,而不是它所使用的模式should@Molda感谢您的回答,我通过直接使用mongoose模式找到了解决方案,在本例中,它是
\u user:{type:Schema.Types.ObjectId,ref:“user”}
User.findOne({"sessionToken" : bearerHeader}, function (err, user){
  Product.find({"user_id" : user._id}, function (err, products){
    console.log(products);
  });
});
 Product.findOne({}).populate('_user').exec(function(err, p){
    console.log(p);
  });