• 如何在MongoDB中使用SQL LIKE语句


    MongoDB是一个功能强大的Nosql数据库服务器。MongoDB使用类似JSON的文档与可选的模式来存储数据。
    它总是一个关键的任务,一个开发组织数据。因为它在应用程序的性能中起着最重要的作用。在Mongodb中,你可以使用类似SQL LIKE语句的查询来获取数据。
    在本教程的例子中,我们使用了如下的一些虚拟数据。你也可以创建一个数据库,然后执行下面的命令来插入虚拟数据。
    db.colors.insert({ "id": 100, "color": "Pink"})
    db.colors.insert({ "id": 101, "color": "Purple"})
    db.colors.insert({ "id": 102, "color": "Black"})
    db.colors.insert({ "id": 103, "color": "Blue"})
    一、使用.find()
    Mongodb find()命令用于从一个集合中搜索文档。这个函数提供了灵活的搜索文档的选项,默认的find()函数可以检索一个集合中的所有文档。
    默认的find()函数可以检索一个集合中的所有文档,也可以通过传递一些简单的参数来查询一个文档集合,并返回一个游标。它还允许你通过传递一些简单的参数来查询一个文档集合,并返回一个游标。
    一个简单的.find()方法的例子如下。
    > db.color.find()

    { "_id" : ObjectId("5f697e4ccc528930cde49f53"), "id" : 100, "color" : "Pink" }
    { "_id" : ObjectId("5f697e4fcc528930cde49f54"), "id" : 101, "color" : "Purple" }
    { "_id" : ObjectId("5f697e52cc528930cde49f55"), "id" : 102, "color" : "Black" }
    { "_id" : ObjectId("5f697e55cc528930cde49f56"), "id" : 103, "color" : "Blue" }
    上面会返回一个集合中的所有文档。但这在生产需求上是很不常见的。你总是需要从数据库中获取一些过滤的结果。
    例如,获取所有包含 "color: Pink "的文档。执行如下查询。
    > db.cols.find({color: "Pink"})

    二、将.find()作为SQL LIKE语句使用
    你可以在monogdb中使用正则表达式来搜索文档。这将类似于SQL查询中的LIKE语句。
    1、搜索字符串中任何地方有 "Pink "的颜色的所有文档。第二条语句搜索所有颜色名称中含有 "Bl "的文档。
    ### SQL Statement
    select * from colors where color LIKE "%Pink%"

    ### Mongodb Statement
    db.colors.find(color: "/Pink/")

    2、搜索字符串开头 - 这将匹配所有以P字符开头的字符串。“^”符号用于表示“开始”。
    ### SQL Statement
    select * from colors where color LIKE "P%"

    ### Mongodb Statement
    db.colors.find(color: "/^P/")

    3、搜索字符串结尾 - 美元"$"符号用于匹配带有特定字符的字符串结尾。下面的例子可以匹配所有以 "k "结尾的字符串。
    ### SQL Statement
    select * from colors where color LIKE "%k"

    ### Mongodb Statement
    db.colors.find(color: "/k$/")


    4、在任何情况下搜索字符串 - 默认的查找方法是区分大小写的。您可以使用 "i "选项指示find命令在任何情况下匹配字符,如下例所示。
    ### SQL Statement
    select * from colors where color LIKE BINARY "pink"

    ### Mongodb Statement
    db.colors.find(color: "/pink/i")

    在本教程中,你已经学会了在Mongodb中搜索类似SQL LIKE语句的数据库。A5互联https://www.a5idc.net/

  • 相关阅读:
    Nginx+IIS+Redis 处理Session共享问题 2
    Nginx+IIS+Redis 处理Session共享问题 1
    [ZooKeeper.net] 1 模仿dubbo实现一个简要的http服务的注册 基于webapi
    使用小技巧使子功能模块不污染主框架
    sqlserver 去除重复的行数据
    setsockopt用法详解
    windows 非窗口定时器
    Redis list 之增删改查
    王垠:如何掌握程序语言(转)
    【练习】整树转换为16进制的字符串的函数
  • 原文地址:https://www.cnblogs.com/a5idc/p/13745392.html
Copyright © 2020-2023  润新知