首页
学习
活动
专区
工具
TVP
发布

陶士涵的菜地

有问题微信联系:llike620
专栏作者
1741
文章
2317291
阅读量
51
订阅数
[MongoDB]评估使用mongodb的五个因素
企业选择 NOSQL 或非表格结构数据库,评估时应从以下五个关键维度来考虑: • 数据模型的类型 • 查询模型是否能满足灵活的查询需求 • 事务模型类型,以及一致性属于强一致性还是最终一致性 • APIs 的成熟度 • 商业支持及社区实力
唯一Chat
2020-03-19
3580
[PHP] 使用PHP在mongodb中进行count查询
在php7的mongodb扩展中,当要查询某个集合在某个条件下的数据个数时,可以使用下面的方式来获取。
唯一Chat
2020-03-19
2K0
[MongoDB]MongoDB的ObjectId组成
一、ObjectId的组成 首先通过终端命令行,向mongodb的collection中插入一条不带“_id”的记录。然后,通过查询刚插入的数据,发现自动生成了一个objectId “5e4fa350b636f733a15d6f62”这个24位的字符串,虽然看起来很长,也很难理解,但实际上它是由一组十六进制的字符构成,每个字节两位的十六进制数字,总共用了12字节的存储空间。相比MYSQL int类型的4个字节,MongoDB确实多出了很多字节。不过按照现在的存储设备,多出来的字节应该不会成为什么瓶颈。不过MongoDB的这种设计,体现着空间换时间的思想。 ObjectId的官方规范 1)Time 时间戳。将刚才生成的objectid的前4位进行提取“5e4fa350”,然后按照十六进制转为十进制,变为“1582277456”,这个数字就是一个时间戳。通过时间戳的转换,就成了易看清的时间格式2020-02-21 17:30:56, 2)Machine 机器。接下来的三个十六进制就是“b636f7”,这三个是所在主机的唯一标识符,一般是机器主机名的散列值,这样就确保了不同主机生成不同的机器hash值,确保在分布式中不造成冲突,这也就是在同一台机器生成的objectId中间的字符串都是一模一样的原因。 3)PID 进程ID。上面的Machine是为了确保在不同机器产生的objectId不冲突,而pid就是为了在同一台机器不同的mongodb进程产生了objectId不冲突,接下来的“af71”两位就是产生objectId的进程标识符。 4)INC 自增计数器。前面的九个字节是保证了一秒内不同机器不同进程生成objectId不冲突,这后面的三个字节“5d6f62”是一个自动增加的计数器,用来确保在同一秒内产生的objectId也不会发现冲突,允许256的3次方等于16777216条记录的唯一性。 总的来看,objectId的前4个十六进制字符是时间戳,记录了文档创建的时间;接下来3个十六进制字符代表了所在主机的唯一标识符,确定了不同主机间产生不同的objectId;后2个是进程id,决定了在同一台机器下,不同mongodb进程产生不同的objectId;最后通过3个是自增计数器,确保同一秒内产生objectId的唯一性。ObjectId的这个主键生成策略,很好地解决了在分布式环境下高并发情况主键唯一性问题,值得学习借鉴
唯一Chat
2020-02-25
1.1K0
[MongoDB] 使用PHP在MongoDB中搜索的实现
条件操作符用于比较两个表达式并从mongoDB集合中获取数据。 MongoDB中条件操作符有: (>) 大于 - $gt (<) 小于 - $lt (>=) 大于等于 - $gte (<= ) 小于等于 - $lte MongoDB 使用 $regex 操作符来设置匹配字符串的正则表达式,使用PCRE (Perl Compatible Regular Expression) 作为正则表达式语言。 MongoDB OR 条件语句使用了关键字 $or
唯一Chat
2020-02-25
5.1K0
[MongoDB]MongoDB分页显示
MongoDB Limit与Skip方法配合进行分页 MongoDB Limit() 方法 如果你需要在MongoDB中读取指定数量的数据记录,可以使用MongoDB的Limit方法,limit()方法接受一个数字参数,该参数指定从MongoDB中读取的记录条数。 MongoDB Skip() 方法 我们除了可以使用limit()方法来读取指定数量的数据外,还可以使用skip()方法来跳过指定数量的数据,skip方法同样接受一个数字参数作为跳过的记录条数。 db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)
唯一Chat
2020-02-24
1.2K0
[PHP]新版的mongodb扩展安装和使用
旧版的mongo扩展已经不推荐使用了,在php7以上一般是安装和使用新版的mongodb扩展
唯一Chat
2020-02-24
7120
[MongoDB] mongodb与php
下载地址https://s3.amazonaws.com/drivers.mongodb.org/php/index.html
唯一Chat
2019-09-10
8070
[MongoDB] MongoDB增删查改
开启MongoDB,cd切换到MongoDB的安装目录下的bin目录里,使用命令mongod 开启,参数:--dbpath 路径,把数据存放在这个路径下 mongod --dbpath E:\xxxx 进入MongoDB管理界面,在bin目录里,使用命令mongo
唯一Chat
2019-09-10
8830
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档