【发布时间】:2019-05-31 05:25:53
【问题描述】:
我有一个名为 user 的 MongoDB 集合。特定用户只有一个名为 name 的属性。 我需要查找名称与给定字符串匹配的用户。例如,如果我的用户集合包含两个文档,如下所示。
{
"_id" : ObjectId("5c9204b974c01413c0f87yu87"),
"name" : "Micheal",
"createdAt" : ISODate("2019-03-20T09:15:37.220Z"),
"updatedAt" : ISODate("2019-03-20T09:15:37.220Z")
}
{
"_id" : ObjectId("5c92050c74c01413c0f7ue64"),
"name" : "Karthik",
"createdAt" : ISODate("2019-03-20T09:17:00.028Z"),
"updatedAt" : ISODate("2019-03-20T09:17:00.028Z")
}
如果我的搜索词是 Mical,我需要接收名为 Micheal 的用户文档作为结果。如果我的搜索词是 kark,我需要接收名为 Karthik 作为结果的用户文档。
下面我已经试过了。
User.find({ "name" : { $regex : ".*Mical.*" }})....
User.find({ name: { $in: ["Mical"] }})....
但以上都对我不起作用。非常感谢任何帮助。
【问题讨论】:
-
User.find({ "name": { $regex: "^Mic.*al" }})适用于Mical和User.find({ "name": { $regex: "^Kar.*k" }})对于Karthik案例