为了账号安全,请及时绑定邮箱和手机立即绑定

mongoDB 中的名字和姓氏组合搜索

mongoDB 中的名字和姓氏组合搜索

回首忆惘然 2021-10-21 10:27:50
我存储了两个字段 FirstName 和 LastName 存储在 MongoDB.from Frontend,我收到一个字符串,其中包含用空格分隔的名字和姓氏我需要一个查找查询来搜索名字和姓氏的组合。这里是例如。设想在数据库中我有以下对象{ firstName: "Hemant Kumar", lastName: "Rajpoot" };如果我收到"Hemant Kumar Rajpoot"它应该匹配。如果可能,请不要给出聚合解决方案。
查看完整描述

3 回答

?
米脂

TA贡献1836条经验 获得超3个赞

$regexMatch如果您使用的是最新的 mongodb 4.2版,则可以使用


db.collection.find({

  "$expr": {

    "$regexMatch": {

      "input": { "$concat": ["$first", " ", "$last"] },

      "regex": "a",  //Your text search here

      "options": "i"

    }

  }

})


查看完整回答
反对 回复 2021-10-21
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

您可以结合使用$expr、$eq和$concat来做到这一点。


例子:


db.yourCollection.find({

  $expr: {

    $eq: [

      {$concat: ["$firstName", " ", "$lastName"]}, 

      "Hemant Kumar Rajpoot" // your full name to search here

    ]

  }

})


查看完整回答
反对 回复 2021-10-21
?
元芳怎么了

TA贡献1798条经验 获得超7个赞

如果你想使用聚合来做到这一点。这是一个例子


db.user.aggregate(

   [

       {

            $project : {

                fullname: {$concat: ["$firstname", " ", "$lastname"]}

            },

        },

        {

            $match : {

                fullname: "your full name"

            }

        }

   ]

)


查看完整回答
反对 回复 2021-10-21
  • 3 回答
  • 0 关注
  • 359 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信