gpt4 book ai didi

node.js - 通过在 mongoose 中填充匹配结果来查找文档

转载 作者:可可西里 更新时间:2023-11-01 10:38:49 25 4
gpt4 key购买 nike

对于 Ecample,使用 mongoose 的数据:

数据学生:

[{
"_id": ObjectId("5afbb519a7fe344ff8db67e6"),
"name":"Jack",
"age":20
...
},{
"_id": ObjectId("5afbb534a7fe344gf7db64e7"),
"name":"Joni",
"age":20
...
}]

数据事件:

[{
"_id": ObjectId("5afbb554a7fe344ff8db67e9"),
"name":"Going to Market",
"student": ObjectId("5afbb519a7fe344ff8db67e6")
...
},{
"_id": ObjectId("5afbb784a7fe344gf7db64e2"),
"name":"Playing with Friends",
"student":ObjectId("5afbb534a7fe344gf7db64e7")
...
}]

我想根据使用正则表达式填充的条件找到一个数据库,这就是我所做的:

let term = new Regex('Jack','i');        
let result = await Activities.find({})
.populate('student', null, { name: { $regex: term } })
.exec();

但结果总是返回Activites的所有数据(正则查询不起作用)

我该怎么办?

最佳答案

您应该尝试使用 match

let result = await Activities.find({})
.populate({ path: 'student', match: { name: { $regex: term } } })
.exec();

关于node.js - 通过在 mongoose 中填充匹配结果来查找文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51039114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com