示例文档如下所示
{
"_id" : ObjectId("5a61cbc677366f5e0cdc95db"),
"Indvl" : {
"Info" : {
"lastNm" : "ALEX",
"firstNm" : "BOB",
"midNm" : "Y",
}
}
}
现在我们使用以下查询来使用name进行搜索。
我们必须对lastNm
,firstNm
,midNm
db.getCollection("MyCOL").find({ "Indvl.Info.firstNm":{$regex: "al" , $options:"i"})
我们怎么做?
答案 0 :(得分:0)
db.MyCOL.aggregate(
// Pipeline
[
// Stage 1
{
$project: {
name: {
$concat: ['$Indvl.Info.lastNm', ' ', '$Indvl.Info.firstNm', ' ', '$Indvl.Info.midNm']
}
}
},
// Stage 2
{
$match: {
name: /al/i
}
},
]
);
答案 1 :(得分:0)
这为我回答:
db.MyCOL
.aggregate(
[ { $project: {fullName: { $concat: ['$Indvl.Info.firstNm', ' ', '$Indvl.Info.lastNm']}} },
{ $match: {fullName: /alex bob/} }
]
);