javascript mongodb nodej询问有关API中的find方法和嵌套对象的问题

ymdaylpp  于 2022-12-21  发布在  Java
关注(0)|答案(1)|浏览(78)

我在mongodb数据库中有两个数据集,两个数据集都有一个类似的字段author_id,所以我必须从一个数据集中检查条件,然后从那里选择id,然后查看第二个数据集中匹配的id并打印,但我得到的是空对象

const Pricesoff = async (req,res) =>{
     let abc = await BookModel.find( { price : { $gte: 50, $lte: 100} }) 
     //.select({author_id:1})
    
     let xyz = abc.author_id
     let obj = await authormodel.find({author_id: xyz})
     let newo = {
         "authorname":obj.author_name
     }
         res.send(newo)
}
szqfcxe2

szqfcxe21#

可能是@user20042973提到的.find()返回一个光标,您可能需要使用findOne或add .lean()来查找()检查这些URL,它们可能会有帮助https://mongoosejs.com/docs/tutorials/lean.html#using-lean
代码应该是这样的

let abc = await BookModel.find( { price : { $gte: 50, $lte: 100} }).lean()
 //.select({author_id:1})

 let xyz = abc.author_id
 let obj = await authormodel.find({author_id: xyz}).lean()
 let newo = {
     "authorname":obj.author_name
 }
res.send(newo)

相关问题