- 启动MongoDB 默认端口27017

mongod --dbpath "数据库目录"

- 查看所有存在磁盘上的数据库

show dbs

-  创建数据库或切换数据库 (使用了不存在的对象即创建该对象)

use 数据库名

- 查看当前数据库存在磁盘上的数据表

show tables

- 创建表

数据库名.表名  

 - 添加 insert

use locals # 创建数据库
db.user.insert() # 创建表(user) + 添加 insert({})
show dbs  # 查看数据库是否创建

# 官方推荐写法
db.user.insertMany([{}]) # 添加多条数据 [{},{},{}]
db.user.insertOne({}) # 添加一条

 - 查看  find

db.user.find()
# 推荐用
db.user.findOne({})

# 并列条件查询
db.user.find({"id":1,"age":20})# 或条件查询 $or
db.user.find({$or:[{age:20},{name:"jam"}]})

# 同一个字段的 或查询 $in
db.user.find({age:{$in:[20,30,40]}})

 # 满足全部条件查询 $all
db.user.find({age:{$all:[20,10,30]}})

# 数学比较符
db.user.find({age:{$gt: 73}})
$gt : 大于 $gte: 大于等于 $lt : 小于 $lte: 小于等于 $eq : 等于 

- 数据类型

MongoDB中的数据类型:

Object  ID :Documents 自生成的 _id

"_id" : ObjectId("5b151f8536409809ab2e6b26")#"5b151f85" 代指的是时间戳,这条数据的产生时间
#"364098" 代指某台机器的机器码,存储这条数据时的机器编号
#"09ab" 代指进程ID,多进程存储数据的时候,非常有用的
#"2e6b26" 代指计数器,这里要注意的是,计数器的数字可能会出现重复,不是唯一的
#以上四种标识符拼凑成世界上唯一的ObjectID
#只要是支持MongoDB的语言,都会有一个或多个方法,对ObjectID进行转换
#可以得到以上四种信息#注意:这个类型是不可以被JSON序列化的这是MongoDB生成的类似关系型DB表主键的唯一key,具体由24个字节组成:0-8字节是时间戳,9-14字节的机器标识符,表示MongoDB实例所在机器的不同;15-18字节的进程id,表示相同机器的不同MongoDB进程。19-24字节是计数器

View Code

String: 字符串,必须是utf-8

Boolean:布尔值,true 或者false (这里有坑哦~在我们大Python中 True False 首字母大写)

Integer:整数 (Int32 Int64 你们就知道有个Int就行了,一般我们用Int32)

Double:浮点数 (没有float类型,所有小数都是Double)

Arrays:数组或者列表,多个值存储到一个键 (list哦,大Python中的List哦)

Object:如果你学过Python的话,那么这个概念特别好理解,就是Python中的字典,这个数据类型就是字典

Null:空数据类型 , 一个特殊的概念,None Null

Timestamp:时间戳

Date:存储当前日期或时间unix时间格式 (我们一般不用这个Date类型,时间戳可以秒杀一切时间类型)

 - 更新 update 

db.user.update({"age":20}, {$set:{"name":"lee"}})# ({"条件"},{"关键字":{"修改内容"}}) 如果条件为空,那么将会修改Collection中所有的数据

# 推荐写法
db.user.updateOne({"name":"lee"},{$set:{"age":20}}) # 改条件匹配的第一条
db.user.updateMany({"name":"lee"},{$set:{"age":18}}) # 改全部

 - 删除  remove / delete

#db.user.remove({"age":20})# 推荐写法
db.user.deleteOne({"name":"lee"}) # 删除 条件匹配第一条
db.user.deleteMany({"name":"jam"}) # 删除  条件匹配的全部

 - 修改器

   - $set :修改

db.user.updateOne({"name":"lee"},{$set:{"age":20}})

   - $unset: 强制删除字段

db.user.updateOne({"name":"lee"},{$unset:{"age":1}}) # 1也可以写成true 只要看到age字段就会删除

   - $ inc: 引用增加 在原有值的基础上增加

db.user.updateMany({},{$inc:{age:1}}) # 减少即为 -1

    -  针对array的修改器(python列表):

   - $push 增加元素

db.user.updateOne({"name":"lee"},{$push:{"hobby":"篮球"}})

   -  $pull 删除元素

db.user.updateOne({"name":"lee"},{$pull:{"hobby":"篮球"}})

   - $pushall 迭代添加

db.user.updateOne({"name":"lee"},{$pull:{"hobby":["篮球","足球"]}})

   - $pop 删除第一条 / 最后一条 数据

db.user.updateOne({"name":"lee"},{$pop:{"hobby":1}}) # 最后一条
db.user.updateOne({"name":"lee"},{$pop:{"hobby":-1}}) # 第一条

- $ 字符 存储符合条件的元素下表索引

- Object操作 (字典直接 。字段就行 )

db.user.updateOne({"info.name":"jam"},{$set:{"info.age":20}})

- Array中嵌套object

db.user.updateOne({"hobby.age":30},{$set:{"hobby.$.age":25}})

- Object中嵌套Array

db.user.updateOne({"kecheng.class":1},{$set:{"kecheng.class.$":2}})

 - 跳过

db.user.find({}).skip(5) # 跳过五条数据

 - 分页

db.user.find({}).limit(5)  # 只显示5条数据

 - 排序

db.user.find({}).sort({age:1}) # 正序
db.user.find({}).sort({age:-1}) # 倒序

转载于:https://www.cnblogs.com/lzmdbk/p/10279921.html

MongoDB 基础操作相关推荐

  1. mongodb基础操作之聚合操作、索引优化

    mongodb基础操作之聚合操作.索引优化 更好的阅读体验 https://www.wolai.com/wrMtYWKdkzKYjoWM1i64qu 目录 聚合操作 聚合管道操作 Map-Reduce ...

  2. MongoDB 基础浅谈

    作者:hazenweng,腾讯 QQ 音乐后台开发工程师 MongoDB 作为一款优秀的基于分布式文件存储的 NoSQL 数据库,在业界有着广泛的应用.下文对 MongoDB 的一些基础概念进行简单介 ...

  3. 数据库应用----Mongodb 4.0 版本 基础操作---复制集,选举方法、部署认证 (二)

    Mongodb 4.0 版本 基础操作-复制集,选举方法.部署认证 (二) 文章目录 Mongodb 4.0 版本 基础操作---复制集,选举方法.部署认证 (二) 一.MongoDB 复制集 二.部 ...

  4. CentOS7安装MongoDB及基础操作

    安装环境说明 系统环境说明 [root@master ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@ma ...

  5. MongoDB增删改查基础操作

    MongoDB高手课_MongoDB_NoSQL-极客时间极客时间推出的MongoDB高手课是帮助互联网从业者学习MongoDB.NoSQL的在线课程,极客时间是面向IT领域的知识服务产品,致力于帮助 ...

  6. MongoDB 基础用法及学习笔记

    MongoDB 基础用法 环境配置与安装 安装 查看MongoDB版本 启动MongoDB服务 检查服务状态 启动服务 打开配置文件,连接MongoDB 查看数据列表 退出 MongoDB 连接 Mo ...

  7. MongoDB基础命令

    MongoDB 入门命令 查看当前数据库 > show dbs admin 0.000GB config 0.000GB local 0.000GB >-- use databaseNam ...

  8. SQL(一)- 数据库介绍与基础操作

    数据库介绍 一.常用的数据库分为两大类: 关系型数据库 非关系型数据库(NoSql) 关系型数据库 概念:是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据. 关系型数 ...

  9. Mongodb 笔记01 MongoDB 简介、MongoDB基础知识、启动和停止MongoDB

    MongoDB 简介 1. 易于使用:没有固定的模式,根据需要添加和删除字段更加容易 2. 易于扩展:MongoDB的设计采用横向扩展.面向文档的数据模型使它能很容易的再多台服务器之间进行分割.自动处 ...

  10. MongoDB基础使用

    5.MongoDB基础使用 5.1.常用的命令(重点) > Help 查看帮助 显示数据库列表 > show dbs 创建数据库 > use dbname 如果数据库不存在,则创建数 ...

最新文章

  1. Nginx配置和内核优化 实现突破十万并发
  2. Can't connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘ (2)解决思路
  3. CompactExifLib:访问JPEG文件中的EXIF标签
  4. 网络驱动器映射成功但无法实时更新文件需要重新连接_无边界办公——WebDAV文件共享服务构建...
  5. Vue.js 学习笔记 十 自定义按键事件
  6. cad插入块_CAD软件中图块无法分解怎么办?
  7. 计算机专业课顺序,计算机专业课程安排顺序 计算机专业课程安排
  8. 华林SAP论坛(华林自建的SAP论坛)
  9. SOX命令:音频位深度、采样率以及码率
  10. BEEF的搭建与使用
  11. 证明碰撞集(HITTING SET)问题是NP完全问题
  12. Oracle中的dual表
  13. 什么软件可以给图片去雾?分享三种图片去雾软件给你。
  14. 开源verilog仿真工具iverilog的安装与使用
  15. 接口测试入门番外篇——如何在谷歌浏览器中集成postman这款接口测试工具呢?
  16. Android 自定义View 实例2_Clipping Canvas
  17. 在windows系统写脚本,如何去掉回车换行符
  18. 使用javascript生成Excel表格(内含实例demo),可下载xlsx.core.min.js、excel.js包
  19. python小游戏之课堂提问器
  20. EDA软件如何与望友DFM软件交互?

热门文章

  1. HDU_2082 找单词 (生成函数)
  2. 用TCP/IP实现自己简单的应用程序协议:成帧器部分
  3. Linux群常见问题整理(一)[转]
  4. 成功就是成为最好的你自己
  5. 计算机小知识应用,电脑使用小知识
  6. oracle脚本转mpp脚本,范本:使用expdp/impdp克隆生成一个新数据库
  7. au6258引脚图及功能_电解电容引脚图/封装
  8. flask-mail异步发送邮件_Spring Boot与异步任务、定时任务、邮件任务
  9. SpringMVC的RESTful(二)定制格式
  10. Baxter实战 (一)ubuntu14.04安装ROS-Indigo