等价于javascript的mongodb语句?

c0vxltue  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(327)

我是mongodb的新手,我想知道如何构建与以下sql语句等价的语句:

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

qvsjd97n1#

sql中的concat等同于mongodb中的aggregate方法。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/

p1tboqfb

p1tboqfb2#

你可以找到这样的例子

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中的一种方式,我们可以在其中添加where、having等子句。
更多了解,请点击这里学习

相关问题