通过在猫鼬中填充匹配结果来查找文档
Posted
技术标签:
【中文标题】通过在猫鼬中填充匹配结果来查找文档【英文标题】:Find documents by populate match result in mongoose 【发布时间】:2018-12-04 22:51:29 【问题描述】:对于 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 的所有数据(正则表达式查询不起作用)
我该怎么办?
【问题讨论】:
【参考方案1】:您应该尝试使用match
let result = await Activities.find()
.populate( path: 'student', match: name: $regex: term )
.exec();
【讨论】:
以上是关于通过在猫鼬中填充匹配结果来查找文档的主要内容,如果未能解决你的问题,请参考以下文章