整理mongodb文档:collation

这篇具有很好参考价值的文章主要介绍了整理mongodb文档:collation。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章连接

整理mongodb文档:collation

看前提示

对于mongodb的collation。个人主要用的范围是在createcollection,以及find的时候用,所以本片介绍的时候也是这两个地方入手,对新手个人觉得理解概念就好。不要求强制性掌握,但是要看到的时候知道这个是什么意思。

关于Collation

先看一下官网中对于Collation的介绍

Collation allows users to specify language-specific rules for string
comparison, such as rules for lettercase and accent marks.

排序规则允许用户为字符串比较指定特定于语言的规则,例如大小写和重音标记的规则。

对于重音标记,指的是类似德语中的“ö”这样的,但我们项目比较少出现这样的,因此剩下的就是大小写的考虑了。

collation的参数

  locale: <string>,  
  caseLevel: <boolean>,
  caseFirst: <string>,    
  strength: <int>,    
  numericOrdering: <boolean>,    
  alternate: <string>,    
  maxVariable: <string>,    
  backwards: <boolean>

locale,指的是我们所选用的地区的代码,比如中国是zh,美国那边就是en,而当我们选用二进制的格式的时候,需要设置的是’simple’.当使用’simple’的时候,也就不再需要设置别的参数了。

strength,总共有五个挡位,当我们设置值为1跟2的时候,可以理解为不比较大小写,而当为3,4,5的时候可以理解为需要比较大小写。默认值是3,当然实际1与2,3-5之间都有差距,只是对我们来说差距不大。相当于越大越严格。

caseFirst,大小写的问题,数据的大小写谁在前,谁在后,当值为’upper’,大写排在小写前面,当值为’lower’,小写排在大写的前面。当值为’off’,表示关闭。

暂时的介绍就这些,其他的希望大家自己看,接下来是介绍两三个例子作为实操,先准备几条数据,分别是

{ "string": "a", "sort": "1" },
{ "string": "B", "sort": "2" },
{ "string": "C", "sort": "3" },
{ "string": "d", "sort": "4" }

接下来创建一个最基本的collection。尝试将这四个数据加进去。
整理mongodb文档:collation,mongodb,mongodb,数据库

对比了下查询出来的数据,我们插入的时候用的是sort按照1234的顺序插入的。但是当我们用sort({string:1})查询​数据的时候,返回的却是先大写,然后是小写。就是系统区分了大小写,先大写再小写,​这样子我们大概可以立即为根据二进制进行排序返回了。

接着删除这个collection,重新生成一个新的collection,但是使用下面的指令来生成

db
.createCollection("blog",
{collation:{ "locale": "en", strength : 1}})

接着继续重新插入数据,然后依旧是上面的查询数据
整理mongodb文档:collation,mongodb,mongodb,数据库

可以看到两次的查询语句都一样,但是出现了不同的结果,这是因为我们创造collection的时候,使用了不同的collation。
第一次使用的是默认的​locale=simple,根据二进制的规则,先大写后小写。
而第二次的时候,我们直接​无视大小写,也就出现了先a后B的情况。具体的应用场景还有很多​,只是这个最为经典,最适合做例子罢了。
整理mongodb文档:collation,mongodb,mongodb,数据库

同样的道理,当我们用一个既定的collation来查询一个数据的时候,我们也可以使用到特定的collation来查询。使用的方法如下:

db.blog.find()
.sort({string:1})
.collation({locale:'zh',strength:1})

最后

collation的最大作用是在让我们按照自己的规则来查询,创建集合,如果是做crud,需要做大小写区分的时候可以考虑这个,而不需要使用正则,但是注意下版本,一般​都是支持的。
​本文数据来源:mongodb官网文章来源地址https://www.toymoban.com/news/detail-632939.html

到了这里,关于整理mongodb文档:collation的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MongoDB】数据库、集合、文档常用CRUD命令

    目录 一、数据库操作 1、创建数据库操作 2、查看当前有哪些数据库 3、查看当前在使用哪个数据库 4、删除数据库 二、集合操作 1、查看有哪些集合 2、删除集合 3、创建集合 三、文档基本操作 1、插入数据 2、查询数据 3、删除数据 4、修改数据 四、文档分页查询 五、文档其

    2024年02月13日
    浏览(43)
  • 通过Studio 3T对Mongodb进行 创建数据库/集合 增删查改集合文档操作

    首先 你需要安装Studio 3T 以及启动 Mongodb服务 具体可以参考我的文章 Studio 3T客户端连接Mongodb数据库服务 我们之前 通过 随便输切换是可以的 但除了这里能看到的 它们都仅存在于内存 我们右键顶部菜单 选择 添加数据库/创建数据库 这里 我们输入数据库名称 然后 点击OK 这样

    2024年02月01日
    浏览(56)
  • H2数据库配置及相关使用方式一站式介绍(极为详细并整理官方文档)

    注意:可以直接移步至【2. H2数据库实战】目录下进行对H2数据库的快速使用 1.1 H2数据库介绍 官方文档地址: http://www.h2database.com/html/main.html H2的开发始于2004年5月, 但它在2005年12月14日首次发表。 H2的原作者Thomas Mueller也是Hypersonic SQL的原始开发者。 2001年,他加入PointBase公司

    2024年02月13日
    浏览(43)
  • 整理mongodb文档:find方法查询数据

    整理mongodb文档:find方法查询数据 求关注,求批评,求指出,如果哪儿不清晰,请指出来,谢谢 如题,本文讲的是如何用find查询数据,如何在数组、字段、对象中查询,以及‘或’等查询操作,最后讲了一些参数。依旧是在shell下操作。 查询数据是db操作中很重要的一步,而

    2024年02月13日
    浏览(35)
  • [MySQL]数据库原理2,Server,DataBase,Connection,latin1、UTF-8,gb2312,Encoding,Default Collation——喵喵期末不挂科

    希望你开心,希望你健康,希望你幸福,希望你点赞! 最后的最后,关注喵,关注喵,关注喵,佬佬会看到更多有趣的博客哦!!! 喵喵喵,你对我真的很重要! 目录 前言 认识字符集和校对原则 MySQL 5.5支持的字符集和校对原则 常用字符集和校对原则 确定字符集和校对原

    2024年02月04日
    浏览(41)
  • [虚幻引擎 MongoDB Client 插件说明] DTMongoDB MongoDB数据库连接插件,UE蓝图可以操作MongoDB数据库增删改查。

    本插件可以在UE里面使用蓝图操作MongoDB数据库, 对数据库进行查询,删除,插入,替换,更新操作。 插件下载地址在文章最后。 Create MongoDB Client - 创建客户端对象 创建一个 MongoDB 客户端对象。 Connect By Url - 连接到数据库 Url :MongoDB的连接地址。 如 mongoDB://account:password@ip:

    2024年02月14日
    浏览(91)
  • MongoDB数据库从入门到精通系列文章之:MongoDB数据库百篇技术文章汇总

    MongoDB数据库系列文章持续更新中: 更多数据库内容请阅读博主数据库专栏,数据库专栏涵盖了Mysql、SQLServer、PostgreSQL、MongoDB、Oracle、Cassandra等数据库 数据库专栏 文章名称 文章链接 数据库安装部署系列之:部署Mongodb5.0.6高可用集群详细步骤 数据库安装部署系列之:部署M

    2024年02月11日
    浏览(54)
  • Mongodb连接数据库

    npm init   npm i mongoose  const mongoose=require(\\\"mongoose\\\") mongoose.connect(\\\"mongodb://127.0.0.1:27017/user\\\") 说明:mongodb是协议,user是数据库,如果没有会自动创建user数据库 。 node 文件名     mongoose.disconnect()

    2024年02月15日
    浏览(59)
  • mongodb数据库操作

    1、启动mongodb 在mongodb启动命令中 --dbpath 指定mongodb的数据存储路径 --logpath 指定mongodb的日志存储路径 2、停止mongodb 第一步先进入mongo命令行模式 第二步,使用use admin 命令进入admin数据库 第三步,执行 db.shutdownServer()命令 停止服务。代码及显示如下:  2 、导出Mongodb数据 mon

    2024年02月09日
    浏览(50)
  • MongoDb数据库

    1.显示所有数据库: show dbs 2.切换到指定数据库,如果没有则自动创建数据库 use databaseName 3.显示当前所在数据库 db 4.删除当前数据库 use 库名 db.dropDatabase() 1.创建集合 db.createCollection(\\\'集合名称\\\') 2.显示当前数据库中所有集合 show colletions  3.删除某个集合 db.xxx.drop(); 4.重命名集

    2024年02月04日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包