怎样统计mongodb数据库中商品的总数

怎样统计mongodb数据库中商品的总数,第1张

db.user.find().count()==>这个快是因为 _id作为主键是一个相对小的索引

而对应的mysql里是走的全表扫描

如果你设计的表结构很满足范式,那么其实并不是MongoDB所擅长的场景,你不会觉得mongodb有多快

dbdao.com it在线教育

模糊查询简介

MongoDB查询条件可以使用正则表达式,从而实现模糊查询的功能。模糊查询可以使用$regex *** 作符或直接使用正则表达式对象。

$regex *** 作符的介绍

MongoDB使用$regex *** 作符来设置匹配字符串的正则表达式,使用PCRE(Pert Compatible Regular Expression)作为正则表达式语言。

regex *** 作符

{<field>:{$regex:/pattern/,$options:’<options>’}}

{<field>:{$regex:’pattern’,$options:’<options>’}}

{<field>:{$regex:/pattern/<options>}}

正则表达式对象

{<field>: /pattern/<options>}$regex与正则表达式对象的区别:

在$in *** 作符中只能使用正则表达式对象,例如:{name:{$in:[/^joe/i,/^jack/}}

在使用隐式的$and *** 作符中,只能使用$regex,例如:{name:{$regex:/^jo/i, $nin:['john']}}

当option选项中包含X或S选项时,只能使用$regex,例如:{name:{$regex:/m.*line/,$options:"si"}}

$regex *** 作符的使用

$regex *** 作符中的option选项可以改变正则匹配的默认行为,它包括i, m, x以及S四个选项,其含义如下

i 忽略大小写,{<field>{$regex/pattern/i}},设置i选项后,模式中的字母会进行大小写不敏感匹配。

m 多行匹配模式,{<field>{$regex/pattern/,$options:'m'},m选项会更改^和$元字符的默认行为,分别使用与行的开头和结尾匹配,而不是与输入字符串的开头和结尾匹配。

x 忽略非转义的空白字符,{<field>:{$regex:/pattern/,$options:'m'},设置x选项后,正则表达式中的非转义的空白字符将被忽略,同时井号(#)被解释为注释的开头注,只能显式位于option选项中。

s 单行匹配模式{<field>:{$regex:/pattern/,$options:'s'},设置s选项后,会改变模式中的点号(.)元字符的默认行为,它会匹配所有字符,包括换行符(\n),只能显式位于option选项中。

使用$regex *** 作符时,需要注意下面几个问题:

i,m,x,s可以组合使用,例如:{name:{$regex:/j*k/,$options:"si"}}

在设置索弓}的字段上进行正则匹配可以提高查询速度,而且当正则表达式使用的是前缀表达式时,查询速度会进一步提高,例如:{name:{$regex: /^joe/}

上面介绍的元字符可能就会让我们在查询的时候出现一些问题,比如有时候想要查询出所有带价格的模糊商品的时候用了.元字符进行模糊搜索,这时候会查询出来全部的数据;

这个时候就需要对模糊查询的条件进行一些 *** 作,转义一下:

方法/步骤 Windows

1

在这里小编使用的是Mongo VUE进行连接,安装完成mongo客户端后,点击mongo的图标,启动运行程序

2

打开面板后在界面的左上角有一个可点击的菜单【connect】连接按钮,这里相信不用我说读者就知道。

3

点击后如下图,如果读者已经配置过数据库连接会话信息,那么就会和下图一样,显示出配置的连接数据库会话名。

4

读者需要选择一个数据库的连接,然后点击下方的【Connect】连接

5

如果读者没有配置连接需要点击下图红色方框选中的“+”号,点击进行创建一个连接。

6

下面就是配置数据库的连接信息,IP、端口、口令等

7

连接进入后可以看到对应的数据库中所有的表,将鼠标移至需要的表格,然后鼠标右键,选择view(视图)

8

打开后选择第二个视图--Table View,表格视图,就可以看到数据库表中的数据和字段名称。

http://jingyan.baidu.com/article/cbf0e500e8f25f2eaa2893f0.html


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10040405.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存