mongodb 基础操作
时间:2019-10-14
本文章向大家介绍mongodb 基础操作,主要包括mongodb 基础操作使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
##### Mongodb常用命令:
1、查询库、查询表
show dbs //查询所有的数据库 show collections //查询当前数据库下的所有数据表123 > // 显示所有数据库 > show dbs admin 0.000GB config 0.000GB local 0.000GB > // 创建并切换到spider数据库 > use spider switched to db spider > // 删除当前数据库 > db.dropDatabase() { "ok" : 1 }
注意:如果第一次use spider会创建spider数据库的,但是立马show dbs的时候,
并不会展示出当前刚创建的spider的数据库,
需要在该数据库下创建了文档才能show dbs看到spider数据库的。这点需要注意一下。
2、建库和删库
``` > // 创建并切换到school数据库 > use school switched to db school > // 创建colleges集合 > db.createCollection('colleges') { "ok" : 1 } > // 创建students集合 > db.createCollection('students') { "ok" : 1 } > // 查看所有集合 > show collections colleges students > // 删除colleges集合,删除集合,删除指定的集合 删除表 > db.colleges.drop() true > ``` // 删除当前数据库 db.dropDatabase();
3、单表的增删改
db.myTable.insert({name:’hahaha’,age:12}); //新增 db.myTable.update({name:’hf’},{$set:{age:25}}) //修改 db.myTable.remove({name:’hf'}) //删除12345 > // 向students集合插入文档 > db.students.insert({s_id: 1, name: 'Lee', age: 18}) WriteResult({ "nInserted" : 1 }) > // 向students集合插入文档 > db.students.save({s_id: 2, name: 'Lee', tel: '12334566789', gender: '男'}) WriteResult({ "nInserted" : 1 }) > // 查看所有文档 > db.students.find() { "_id" : ObjectId("5b24b01f165a0f78dbf82a12"), "s_id" : 2, "name" : "Lee", "tel" : "12334566789", "gender" : "男" } { "_id" : ObjectId("5b24b0dc165a0f78dbf82a15"), "s_id" : 1, "name" : "Lee", "age" : 18 } > // 更新s_id为1的文档 > db.students.update({'s_id':1}, {'$set':{'age':16}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > // 插入或更新s_id为3的文档 > db.students.update({s_id: 3}, {'$set': {name: 'jerry', tel: '13022221333', gender: '女'}}, upsert=true) WriteResult({ "nMatched" : 0, "nUpserted" : 1, "nModified" : 0, "_id" : ObjectId("5b24b30d4717832ad090f2f5") }) > // 查询所有文档 > db.students.find().pretty() { "_id" : ObjectId("5b24b01f165a0f78dbf82a12"), "s_id" : 2, "name" : "Lee", "tel" : "12334566789", "gender" : "男" } { "_id" : ObjectId("5b24b0ba165a0f78dbf82a14"), "s_id" : 2, "name" : "Lee", "tel" : "12334566789", "gender" : "男" } { "_id" : ObjectId("5b24b0dc165a0f78dbf82a15"), "s_id" : 1, "name" : "Lee", "tel" : "12334566786", "age" : 16 } { "_id" : ObjectId("5b24b30d4717832ad090f2f5"), "s_id" : 3, "gender" : "女", "name" : "jerry", "tel" : "13022221333" }
讲解:我们可以使用 find() 方法来查询指定字段的数据,将要返回的字段对应值设置为 1。但是除了 _id 你不能在一个对象中同时指定 0 和 1。否则同时制定0和1的话,会报错误的。
4、查询
``` >> // 查询s_id大于2的文档只显示name和tel字段 > db.students.find({s_id: {'$gt': 2}}, {_id: 0, name: 1, tel: 1}).pretty() >> // 查询s_id大于2的文档除了不显示name和tel字段的其他字段 > db.students.find({s_id:{'$gt':2}}, {s_id:0, name:0, _id:0}) { "gender" : "女", "tel" : "13022221333" } >> // 查询s_id大于2的文档只显示_id和name和tel字段 > db.students.find({s_id:{'$gt':2}}, {s_id:1, name:1, _id:1}) { "_id" : ObjectId("5b24b30d4717832ad090f2f5"), "s_id" : 3, "name" : "jerry" } ``` 筛选查询: ``` >>// 查询学生文档跳过第1条文档只查1条文档 > db.students.find().skip(1).limit(1).pretty() { "_id" : ObjectId("5b24b0ba165a0f78dbf82a14"), "s_id" : 2, "name" : "Lee", "tel" : "12334566789", "gender" : "男" } > // 对查询结果进行排序(1表示升序,-1表示降序) > db.students.find().sort({s_id: -1}) { "_id" : ObjectId("5b24b30d4717832ad090f2f5"), "s_id" : 3, "gender" : "女", "name" : "jerry", "tel" : "13022221333" } { "_id" : ObjectId("5b24b01f165a0f78dbf82a12"), "s_id" : 2, "name" : "Lee", "tel" : "12334566789", "gender" : "男" } { "_id" : ObjectId("5b24b0ba165a0f78dbf82a14"), "s_id" : 2, "name" : "Lee", "tel" : "12334566789", "gender" : "男" } { "_id" : ObjectId("5b24b0dc165a0f78dbf82a15"), "s_id" : 1, "name" : "Lee", "tel" : "12334566786", "age" : 16 } ```
monggo常用操作
https://blog.csdn.net/cckevincyh/article/details/78702674
原文地址:https://www.cnblogs.com/Jokerguigui/p/11671923.html
- 这样入门asp.net core 之 静态文件
- 高效能程序员的七个习惯
- 这样入门asp.net core,如何
- Javascript继承,再谈
- 程序员的暴力美学
- Reactor模式的.net版本简单实现--DEMO
- 能花钱的,就不要花时间
- Lombok介绍、使用方法和总结
- JDK1.7源码分析01-Collection
- Spring boot自定义启动字符画(banner)
- 产品解析:Github Atom
- Docker+Jenkins持续集成环境(5): android构建与apk发布
- Docker+Jenkins持续集成环境(4):使用etcd+confd实现容器服务注册与发现
- 易企秀前端压缩源码分析与还原
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- MySQL5.7+查看Waiting for table metadata lock 锁情况
- input如何快速进行规则校验
- 史上最详细的sqlServer手工注入详解
- Spring 基于 Java 的配置
- Spring中的Spring JSR-250 注释之@Resource
- python 用opencv接口把视频逐帧转化为图片
- Element el-tree树形控件的数据处理方法
- 基于docker快速搭建hive环境
- flag区分大小写的sql盲注
- Spring中的Spring JSR-250 注释
- WebRTC 入门指南
- 【DB笔试面试844】在Oracle中,tnsnames.ora文件的作用是什么?
- Spring 基于注解(annotation)的配置之@Qualifier注解
- Spring 基于设值函数的依赖注入
- Spring 基于构造函数的依赖注入