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 ...
随机推荐
- 使用vault pki engine 方便的管理证书
vault 是一个很方便的secret .敏感数据管理工具,当前的版本已经包含了UI,使用起来很方便 以下演示一个简单的pki 管理 项目使用docker-compose 运行,为了简单使用单机开发模 ...
- [RN] React Native 下列表 FlatList 和 SectionList
1.FlatList FlatList组件用于显示一个垂直的滚动列表,其中的元素之间结构近似而仅数据不同. FlatList更适于长列表数据,且元素个数可以增删.和ScrollView不同的是,Fla ...
- DDL 语言
数据库模式定义语言并非程序设计语言,DDL数据库模式定义语言是SQL语言(结构化查询语言)的组成部分. SQL语言包括四种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML),数 ...
- hbase 整合ranger
一.安装hbase插件 1.解压安装插件 从target目录下拷贝ranger-2.1.0-SNAPSHOT-hbase-plugin.tar.gz到hbase集群,你的这个包的版本可能跟我不一致. ...
- 刷题记录:[0CTF 2016]piapiapia
目录 刷题记录:[0CTF 2016]piapiapia 一.涉及知识点 1.数组绕过正则及相关 2.改变序列化字符串长度导致反序列化漏洞 二.解题方法 刷题记录:[0CTF 2016]piapiap ...
- solr 使用
Solr安装 1:安装 Tomcat,解压缩即可. 2:解压 solr. 3:把 solr 下的dist目录solr-4.10.3.war部署到 Tomcat\webapps下(去掉版本号). 4:启 ...
- how does SELECT TOP works when no order by is specified?
how does SELECT TOP works when no order by is specified? There is no guarantee which two rows you ge ...
- Android: 判断当前手机品牌(转)
参考资料 Android判断手机ROM 正文 有时候需要判断手机系统的ROM,检测ROM是MIUI.EMUI还是Flyme,可以使用getprop命令,去系统build.prop文件查找是否有对应属性 ...
- PostgreSQL--with子句
在PostgreSQL中,WITH查询提供了一种编写辅助语句的方法,以便在更大的查询中使用.它有助于将复杂的大型查询分解为更简单的表单,便于阅读.这些语句通常称为公共表表达式(Common Table ...
- MySQL8新特性(1)--原子DDL
mysql 8支持原子ddl.一个原子DDL语句包含数据字典更新.存储引擎操作.二进制日志写,事务要么被提交,应用修改被持持久化到数据字典.存储引擎和二进制日志,或者被回滚. 原子ddl是随着mysq ...