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基本使用的更多相关文章

  1. solr+mongo-connector+mongdb+tomcat集成

    话题:solr安装 一.下载solr 本例采用4.10.3版本. Solr所有版本下载地址:http://archive.apache.org/dist/lucene/solr/ 下载完成后,解压的目 ...

  2. [MongDB] 主从架构--官方极力不推荐

    一.缘由: 看着数据库大家庭都有主从模式,想着Mongodb应该也不会落下.但从官网看来,先是早先舍弃了Master-Master模式,现在又在不推荐 Master-Slave模式,这是要标新立异呀. ...

  3. MongDB/C# 杂项

    1.MongDB的时间类型字段输出时为UTC的解决方法:保存到数据库中的数据还是按UTC存的,读出来的就按标识值读 [BsonDateTimeOptions(Kind = DateTimeKind.L ...

  4. HBase与MongDB等NoSQL数据库对照

    HBase概念学习(十)HBase与MongDB等NoSQL数据库对照 转载请注明出处: jiq•钦's technical Blog - 季义钦 一.开篇 淘宝之前使用的存储层架构一直是MySQL数 ...

  5. go语言mongdb管道使用

    原始json: { "listsn": "", "code": "fwq_add", "detail" ...

  6. HBase概念学习(十)HBase与MongDB等NoSQL数据库对照

    转载请注明出处: jiq•钦's technical Blog - 季义钦 一.开篇 淘宝之前使用的存储层架构一直是MySQL数据库,配合以MongDB,Tair等存储. MySQL因为开源,而且生态 ...

  7. mongdb创建自增主键(primary key)的相关讨论 - Jason.Zhi

    根据mongodb官方文档介绍,如果在插入(insert)操作时,没有指定主键id,那么它会自动给插入行自动附上一个主键id.看起来不错,但是详细看看,就会发现这个id值有点复杂. 如下图: mong ...

  8. mongdb Java demo

    接触MONGDB,感觉用起来还挺好.今天做了一个小demo. 一.启动mongdb的服务

  9. mongDB 的使用

    首先是启动 mongdb的service ,不启用的话,使用mong shell 连接的现象是: 启动服务端,指定默认的存储的位置即可: mongod  -- dbpath  F:/store  #数 ...

  10. springMVC+ mongdb + redis +Jedis 环境搭建

    环境信息: JDK1.7 : Eclipse 4.4.1 ; mongdb + mongVUE:mongDB的安装 redis的下载和安装:window下安装redis maven3.0.5 新建ma ...

随机推荐

  1. learning armbian steps(11) ----- armbian 源码分析(六)

    接下来我们来分析一下uboot的编写过程: 从 lib/compilation.sh  89开始阅读: compile_uboot() { # not optimal, but extra clean ...

  2. vue 首页导航+左侧菜单

    1. Mock.js 前后端分离开发开发过程当中,经常会遇到以下几个尴尬的场景: 1. 老大,接口文档还没输出,我的好多活干不下去啊! 2. 后端小哥,接口写好了没,我要测试啊! 前后端分离之后,前端 ...

  3. ESP8266低功耗解决的其中一个问题(芯片发热,影响旁边的温湿度芯片)

    这个项目的这个问题困扰了自己好长时间了,ESP8266芯片发热,导致了旁边的温湿度传感器采集不了空气中的温度....采集的温度是芯片发热的温度 一直采集出来的是30多度......尽管空气温度10几度 ...

  4. 羊村的OI题解

    目录 喜羊羊与灰太狼--仓库管理 喜羊羊与灰太狼--破译密码 喜羊羊与灰太狼--烦恼的礼物 喜羊羊与灰太狼--仓库管理 传送门 水的一批,还让开o2了 就不写了 #include<iostrea ...

  5. OpenFOAM——圆腔顶盖旋转驱流

    本算例来自<ANSYS Fluid Dynamics Verification Manual>中的VMFL008: Flow Inside a Rotating Cavity 腔体顶盖以1 ...

  6. [代码质量] Maintainability Index (MI)

    转载自: http://www.projectcodemeter.com/cost_estimation/help/GL_maintainability.htm ProjectCodeMeter Ma ...

  7. mybatis Example Criteria like 模糊查询

    用Mybatis代码生成工具会产生很多个XXXExample类,这些类的作用是什么? 查阅了很多资料,在这里总结归纳一下 简介XXXExample类用于构造复杂的筛选条件 它包含一个名为Criteri ...

  8. flask上传文件到指定路径

    flask上传文件到指定路径 项目结构如下: 首先是:视图函数uload_file.py,代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*- fro ...

  9. PostgreSQL中的partition-wise aggregation

    partition-wise aggregation允许对每个分区分别执行的分区表进行分组或聚合.如果GROUP BY子句不包括分区键,则只能在每个分区的基础上执行部分聚合,并且必须稍后执行最终处理. ...

  10. centos7.6环境jenkins升级到tomcat8.0.53和jenkins2.168版本

    Jenkins服务器:192.168.10.175数据备份服务器:192.168.10.164 jenkins服务器报错不能访问,插件无法加载就不能正常获取代码,重启尝试解决无果,于是采用 如下方案: ...