等效的 MongoDB 语句?
Posted
技术标签:
【中文标题】等效的 MongoDB 语句?【英文标题】:equivalent MongoDB statement? 【发布时间】:2018-11-12 22:19:18 【问题描述】:我是 MongoDB 新手,想知道如何构建与以下 SQL 语句等效的语句:
SELECT * FROM users WHERE CONCAT(firstName, ' ', lastName) LIKE CONCAT('Walter Whi', '%')
【问题讨论】:
似乎,mongos 文本搜索就是我要搜索的内容.. 【参考方案1】:SQL 中的 CONCAT 相当于 MongoDB 中的聚合方法。 SQL 中的表相当于 MongoDB 中的文档。 SQL 中的 SELECT 相当于 MongoDB 中的 Projection 方法。
db.users.aggregate([ $project: userDescription: $concat: [ "$firstName", " - ", "$lastName" ] , $match : $firstName: "Walter Whi" ])
有关详细信息,请参阅此文档。 https://docs.mongodb.com/manual/reference/operator/aggregation/match/
【讨论】:
【参考方案2】:你可以找到这样的例子
db.users.insert(name: 'paulo')
db.users.insert(name: 'patric')
db.users.insert(name: 'pedro')
db.users.find(name: /a/) //like '%a%' out: paulo, patric
db.users.find(name: /^pa/) //like 'pa%' out: paulo, patric
db.users.find(name: /ro$/) //like '%ro'
db.students.aggregate(
$project: studentNo:"$studentNo" , name: $concat: [ "$firstName", " ", "$lastName" ] ,age:"$age",
$match: "name":/Suraj/)
project 用于列出所有列并连接两列,然后搜索新记录
聚合是 MongoDB 中的一种方式,我们可以在其中添加子句,例如 SQL 中的 where、have。
如需了解更多,可以参考 点击here
【讨论】:
以上是关于等效的 MongoDB 语句?的主要内容,如果未能解决你的问题,请参考以下文章
春季是不是有 mongoDB 的 @MappedSuperclass 等效注释?