等价的MongoDB语句?

时间:2018-11-12 22:19:19

标签: javascript mysql sql mongodb mongoose

我是MongoDB的新手,我想知道如何构建与以下SQL语句等效的内容:

SELECT * FROM users WHERE CONCAT(firstName, ' ', lastName) LIKE CONCAT('Walter Whi', '%')

2 个答案:

答案 0 :(得分:0)

您可以找到类似的示例

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/}})

项目用于列出所有对话加concat两个对话,然后搜索新记录

聚合是MongoDB中的一种方式,我们可以在其中添加子句(如where,在sql中)

要了解更多信息,请向 点击here

答案 1 :(得分:0)

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/