mongdb基本使用
mongodb创建用户,设置密码
参考:https://www.jianshu.com/p/237a0c5ad9fa
MongoDB内置的数据库角色有:
1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root
7. 内部角色:__system
引用自: https://www.cnblogs.com/qk2014/p/9253506.html
mongodb基本使用
use DATABASE_NAME
如果数据库不存在,则创建数据库,否则切换到数据库。
show dbs
显示所有的数据库
db.dropDatebase()
删除当前所使用的数据库
db.createCollection(name,options)
创建名为name的集合
show collections
显示所有的集合
db.collection.drop()
删除名为collection的集合
db.COLLECTION_NAME.insert(document)
向集合COLLECTION_NAME中插入document
db.COLLECTION_NAME.insertOne(document)
向集合COLLECTION_NAME中插入一条document
db.COLLECTION_NAME.insertMany([document1,document2...])
向集合COLLECTION_NAME中插入多条document
db.COLLECTION_NAME.update(<filter>,<update>,{...参数})
更新COLLECTION_NAME中的记录
filter:过滤条件,update:需要更新的数据
参数:
upsert:可选,如果不存在update的记录,是否插入objNew,true为插入,false为不插入
multi:可选,只更新第一条记录,如果这个参数为true,则全部更新,为false则只更新一条数据,mongodb默认为false
writeConcern:可选,抛出异常的级别
db.COLLECTION_NAME.delateOne(<filter>)
删除COLLECTION_NAME集合中的一条记录
filter:过滤条件
db.COLLECTION_NAME.delateMany(<filter>)
删除COLLECTION_NAME集合中的多条记录
filter:过滤条件
db.COLLECTION_NAME.findOne(<filter>)
查询COLLECTION_NAME集合中的一条记录
filter:过滤条件
db.COLLECTION_NAME.findMany(<filter>)
查询COLLECTION_NAME集合中的多条记录
filter:过滤条件
db.user.find({"name":"/帅/"})
在user集合中查找name中包含"帅"的记录
db.user.find({"name":"/^帅/"})
在user集合中查找name中开头为"帅"的记录
db.user.find({"name":"/帅$/"})
在user集合中查找name中结尾为"帅"的记录
条件语句查询
| 操作 | 格式 | 案例 |
|---|---|---|
| 等于 | {key: value} | db.user.find({"name": "yven"}) |
| 小于 | {key: {$lt: value}} | db.user.find({"age": {$lt: 20}}) |
| 小于或等于 | {key: {$lte: value}} | db.user.find({"age": {$lte: 20}}) |
| 大于 | {key: {$gt: value}} | db.user.find({"age": {$gt: 20}}) |
| 大于或等于 | {key: {$gte: value}} | db.user.find({"age": {$gte: 20}}) |
| 不等于 | {key: {$ne: value}} | db.user.find({"age": {$ne:20}}) |
AND和OR
在find方法中传入多个键,每个键以逗号隔开,就是AND条件,如:
db.user.find({"name":"yven","age",18})
在user集合中查找name为yven而且age为18的记录
OR条件使用关键字$or,如:
db.user.find({"$or":[{"name":"yven"},{"name":"lyf"}]})
在user集合中查找name为yven或者name为lyf的记录
$type实例
$type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果
MongoDB中可以使用的类型参考如下:
https://www.runoob.com/mongodb/mongodb-operators-type.html
使用$type实例
db.user.find({"name":{$type:2}})
$type 为2对应的数据类型为string,所以这条语句就是在user集合中查询name为string类型的记录
也可以写为:db.user.find({"name":{$type:"string"}})
pymongodb基本使用
from pymongo import MongoClient
mongodb_add = "mongodb://user:pwd@host:port"
client = MongoClient(mongodb_add)
# 获取数据库
db = client["datebase_name"]
# 获取集合
collection = db["collection_name"]
# 操作就完事
yven = collection.find_one({"name":"yven"})
# 模糊查询,查看name中包含y的记录条数
count = collection.find({"name": {'$regex': ".*y.*"}}).count()
mongdb基本使用的更多相关文章
- solr+mongo-connector+mongdb+tomcat集成
话题:solr安装 一.下载solr 本例采用4.10.3版本. Solr所有版本下载地址:http://archive.apache.org/dist/lucene/solr/ 下载完成后,解压的目 ...
- [MongDB] 主从架构--官方极力不推荐
一.缘由: 看着数据库大家庭都有主从模式,想着Mongodb应该也不会落下.但从官网看来,先是早先舍弃了Master-Master模式,现在又在不推荐 Master-Slave模式,这是要标新立异呀. ...
- MongDB/C# 杂项
1.MongDB的时间类型字段输出时为UTC的解决方法:保存到数据库中的数据还是按UTC存的,读出来的就按标识值读 [BsonDateTimeOptions(Kind = DateTimeKind.L ...
- HBase与MongDB等NoSQL数据库对照
HBase概念学习(十)HBase与MongDB等NoSQL数据库对照 转载请注明出处: jiq•钦's technical Blog - 季义钦 一.开篇 淘宝之前使用的存储层架构一直是MySQL数 ...
- go语言mongdb管道使用
原始json: { "listsn": "", "code": "fwq_add", "detail" ...
- HBase概念学习(十)HBase与MongDB等NoSQL数据库对照
转载请注明出处: jiq•钦's technical Blog - 季义钦 一.开篇 淘宝之前使用的存储层架构一直是MySQL数据库,配合以MongDB,Tair等存储. MySQL因为开源,而且生态 ...
- mongdb创建自增主键(primary key)的相关讨论 - Jason.Zhi
根据mongodb官方文档介绍,如果在插入(insert)操作时,没有指定主键id,那么它会自动给插入行自动附上一个主键id.看起来不错,但是详细看看,就会发现这个id值有点复杂. 如下图: mong ...
- mongdb Java demo
接触MONGDB,感觉用起来还挺好.今天做了一个小demo. 一.启动mongdb的服务
- mongDB 的使用
首先是启动 mongdb的service ,不启用的话,使用mong shell 连接的现象是: 启动服务端,指定默认的存储的位置即可: mongod -- dbpath F:/store #数 ...
- springMVC+ mongdb + redis +Jedis 环境搭建
环境信息: JDK1.7 : Eclipse 4.4.1 ; mongdb + mongVUE:mongDB的安装 redis的下载和安装:window下安装redis maven3.0.5 新建ma ...
随机推荐
- tomcat 配置更改 web 目录
tomcat 虚拟目录:( 编辑 tomcat/conf/server.xml ) <Host name="localhost" appBase="webapps ...
- 2-ESP8266 SDK开发基础入门篇--非RTOS版与RTOS版
https://www.cnblogs.com/yangfengwu/p/11071580.html 所有的源码 https://gitee.com/yang456/Learn8266SDKDevel ...
- P4279 【[SHOI2008]小约翰的游戏】
我怎么什么都不会啊\(QAQ\)博弈论怎么和期望一样玄学啊\(QAQ\) 我们分几种情况讨论: \(Case1\):只有一堆且为1,那么后手胜利 \(Case2\):每一堆都是1,那么只需要判断奇偶性 ...
- ThinkPad T410i 2516A21 升級手札(換SSD固態硬碟、I7 CPU、開機20秒)
最近筆記本越來越慢,開機得20分鐘,而且CPU動不動就飆到80度,趁著開學網上活動,準備給老伙計來一次重大升級.查一下主板芯片,最高支持8G內存,已經滿了,光驅位加了一個1T機械硬盤,那麼能升級的就只 ...
- docker不能正常使用cron任务
基于centos7的docker不能正常使用cron任务问题 修改docker centos7镜像对应的容器的/etc/pam.d/crond文件 把required 修改成sufficient,如下 ...
- (二)Cisco dhcp snooping配置解释
#配置dhcp snooping相关命令 Switch(config)#ip dhcp snooping //打开DHCP Snooping功能Switch(config)#ip dhcp snoo ...
- 实验与作业(Python)-03 Python程序实例解析(函数、循环、range、turtle)
截止日期: 要求: 下周实验课前上交,做好后在实验课上检查可获取平时分. 做出进阶或选做的的请用清晰的标致标识出来,方便老师批改 本次作业:可提交也可不提交.作业算平时成绩. 本次作业内容量较大,请组 ...
- redis 锁的案例
1: redis 锁 作为一种术装饰器使用 基本逻辑: 1:声明一个redislock类 定义生成锁和释放锁两个方法 2:生成锁使用了一个默认值 setnx ; 如果当前时间大于 第一次锁的生成时间 ...
- rabbitmq - 消息接收,解析xml格式数据时异常:ERROR not well-formed (invalid token): line 4, column 46
ERROR alsv odoo.addons.cus_alsv.utils.alsv_about_mq.get_data_from_mq: parse_xml_data_from_mq: not we ...
- openresty开发系列33--openresty执行流程之3重写rewrite和重定向
openresty开发系列33--openresty执行流程之3重写rewrite和重定向 重写rewrite阶段 1)重定向2)内部,伪静态 先介绍一下if,rewrite指令 一)if指令语法:i ...