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