【发布时间】:2021-07-25 08:40:27
【问题描述】:
我想根据“guess.body”“找到”以下项目:
{
"guess": [
{
"body": "findme",
}
],
"_id": "608ee73b18a16e39e809203f"
}
此项目位于名为“ask”的集合中,具有以下模型:
const askSchema = new Schema ({
guess: [{type:Schema.Types.ObjectId, ref:'guess'}],
})
为了做到这一点,我尝试了 2 个查询:
-
第一个:
const askByGuess = await ask.find().populate("guess").find({"guess.body":"findme"}) res.status(200).json(askByGuess)
返回一个空数组
-
第二个(基于这个答案:Find after populate mongoose)
const askByGuess = await ask.find().populate({path:"guess", match{body:"findme"}}).exec(function(err, ask) {ask = ask.filter(function(ask) {return ask.guess})}) res.status(200).json(askByGuess)
返回“1”。
有人可以告诉我我做错了什么吗?
谢谢!
【问题讨论】:
标签: mongoose