资讯专栏INFORMATION COLUMN

MongoDB(二)CRUD 指令简单汇总

android_c / 2547人阅读

摘要:前言本教程适合有一定数据库开发经验的人员阅读。可选,默认是只更新找到的第一条记录,如果这个参数为就把按条件查出来多条记录全部更新。向指定集合更新单个文档向指定集合更新多个文档例子教程文档数据。可选,抛出异常的级别。

前言

本教程适合有一定数据库开发经验的人员阅读。对于刚开始接触数据库的童鞋,建议直接跳到本文的References中去选择更适合的教程。还有一点需要注意的是,mongodb的版本2和版本3之间存在很大差异,查看教程的时候一定要注意~

一般指令
use DATABASE_NAME:切换到数据库,如果该数据库不存在,则自动创建
show dbs:查看所有的数据库
show tables:查看所有的集合
db.dropDatabase():进入数据库后删除数据库
db.COLLECTION_NAME.drop():删除集合
db.COLLECTION_NAME.find():查看集合中的所有内容或是特定内容
插入文档
 db.COLLECTION_NAME.insertOne():向指定集合中插入一条文档数据
db.COLLECTION_NAME.insertMany():向指定集合中插入多条文档数据

还有很多等价的插入操作

db.collection.update() : upsert:true
db.collection.updateOne(): upsert:true
db.collection.updateMany(): upsert:true
db.collection.findAndModify(): upsert:true
db.collection.findOneAndUpdate(): upsert:true
db.collection.findOneAndReplace(): upsert:true
db.collection.save().
db.collection.bulkWrite().
更新文档 update
db.collection.update(
   ,
   ,
   {
     upsert: ,
     multi: ,
     writeConcern: 
   }
)
query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :可选,抛出异常的级别。
db.collection.updateOne() 向指定集合更新单个文档
db.collection.updateMany() 向指定集合更新多个文档
例子:
db.COLLECTION_NAME.update(
    {"title":"MongoDB 教程"},
    {$set:{"title":"MongoDB"}},
    {multi:true}
)
save
    db.collection.save(
       ,
       {
         writeConcern: 
       }
    )
document : 文档数据。
writeConcern :可选,抛出异常的级别。
replace
db.collection.replaceOne()
删除文档
db.COLLECTION_NAME.deleteMany():删除单个文档
db.COLLECTION_NAME.deleteOne():删除多个文档
查询文档
db.COLLECTION_NAME.find({: , : { :  }}):field指名称,operator指操作符
db.collection.findOne()

example

db.inventory.find( { status: "D" } )
等价于SELECT * FROM inventory WHERE status = "D"

db.inventory.find( { status: { $in: [ "A", "D" ] } } )
等价于SELECT * FROM inventory WHERE status in ("A", "D")

db.inventory.find( { status: "A", qty: { $lt: 30 } } )
等价于SELECT * FROM inventory WHERE status = "A" AND qty < 30

db.inventory.find( { $or: [ { status: "A" }, { qty: { $lt: 30 } } ] } )
等价于SELECT * FROM inventory WHERE status = "A" OR qty < 30

更多和操作符相关的查看该文档

查询内嵌的对象,使用标识符.

db.inventory.find( { "size.uom": "in" } )
References

菜鸟教程MongoDB入门
runnob MongoDB入门
MongoDB中文手册
官方教程


想要了解更多开发技术,面试教程以及互联网公司内推,欢迎关注我的微信公众号!将会不定期的发放福利哦~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/19123.html

相关文章

  • MongoDB 学习笔记

    摘要:本文内容主要来自的学习,学习笔记基于个人理解对原书部分内容进行调整。如果需要练习相关命令行工具可直接阅读本学习笔记。笔者测试数据库版本较早,但文中涉及的所有概念及命令行工具基本适用于所有版本。二准备安装和运行服务在学习之前,需要安装环境。 感谢 Karl Seguin 编写的 The Little MongoDB Book 这本 MongoDB 入门书。 本文内容主要来自「The Li...

    makeFoxPlay 评论0 收藏0
  • MongoDB 学习笔记

    摘要:本文内容主要来自的学习,学习笔记基于个人理解对原书部分内容进行调整。如果需要练习相关命令行工具可直接阅读本学习笔记。笔者测试数据库版本较早,但文中涉及的所有概念及命令行工具基本适用于所有版本。二准备安装和运行服务在学习之前,需要安装环境。 感谢 Karl Seguin 编写的 The Little MongoDB Book 这本 MongoDB 入门书。 本文内容主要来自「The Li...

    刘永祥 评论0 收藏0
  • Spring Boot 2.x 系列教程:WebFlux 系列教程大纲(一)

    摘要:使用则需要及以上版本。开发使用框架七系列教程目录系列教程大纲快速入门实践实践整合整合中和实践整合中实现缓存中实现通信集成测试及部署实战图书管理系统 WebFlux 系列教程大纲 一、背景 大家都知道,Spring Framework 是 Java/Spring 应用程序跨平台开发框架,也是 Java EE(Java Enterprise Edition) 轻量级框架,其 Spring ...

    jone5679 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<