博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDB基本操作
阅读量:5737 次
发布时间:2019-06-18

本文共 2130 字,大约阅读时间需要 7 分钟。

一、数据库和表操作

  • show bds 查看数据库

  • use test 切换数据库

  • db.dropDatabase() 删除当前数据库

  • use test 直接切换到数据库,mongo会在适当的时候自动创建数据库

  • db.mydb.drop()删除表

二、增:插入文档(集合)

db.mydb.insert() 创建表并插入数据,数据格式为json,

如果json对象中不包含_id则会自动创建一个全局唯一的_id,支持插入多条数据

db.mydb.insert({x:1}) 或 db.mydb.insert({x:1,_id:1})

for(i = 3; i < 100; i ++)db.mydb.insert({x:i}) 使用js语法插入100条数据

db.mydb.insert({title: 'MongoDB 教程',     description: 'MongoDB 是一个 Nosql 数据库',    by: '菜鸟教程',    url: 'http://www.runoob.com',    tags: ['mongodb', 'database', 'NoSQL'],    likes: 100})复制代码
  • 也可以定义为一个变量document
document=({title: 'MongoDB 教程',     description: 'MongoDB 是一个 Nosql 数据库',    by: '菜鸟教程',    url: 'http://www.runoob.com',    tags: ['mongodb', 'database', 'NoSQL'],    likes: 100});db.mydb.insert(document)复制代码

三、删:删除文档(集合)

删除集合下全部文档: db.mydb.deleteMany({})

删除 status 等于 A 的全部文档: db.mydb.deleteOne( { status: "D" } )

删除 status 等于 D 的一个文档: db.mydb.deleteOne( { status: "D" } )

四、改:更新文档(集合)

db.collection.updateOne() 向指定集合更新单个文档,[name是abc的age设置为28]

db.mydb.updateOne({
"name":"abc"},{
$set:{
"age":"28"}})db.mydb.find复制代码

db.collection.updateMany() 向指定集合更新多个文档,[age大于10的status设置为xyz]

db.test_collection.updateMany({
"age":{
$gt:"10"}},{
$set:{
"status":"xyz"}})复制代码
db.test_collection.insert({x:1,y:2}) db.test_collection.update({x:1},{z:3})更新x为1的数据,覆盖所有其他数据,只剩下z:3更新后为{z:3} db.test_collection.update({x:1},{
$set:{z:3}})更新x为1的数据,增加或者修改z:3,其他字段保持不变 db.test_collection.update({y:100},{y:999},true)第三个参数表示如果y:100的数据不存在则创建一条{y:999}的 数据 db.test_collection.update({x:10},{
$set:{z:1200}}, false, true) 第三个参数false表示不存在也不创建,第四个参数true表示当有多条符合更新要求的数据记录时会批量更新,此时必须使用$set操作符复制代码

五、查:查询文档(集合)

db.mydb.find()通过 by 和 title 键来查询 Mongodb 中 hello 的数据db.col.find({
"by":"Mongodb", "title":"hello"}).pretty()show collections 查看创建的表 db.test_collections.find() 默认查询所有的记录,可以为空。 db.test_collections.find({x:1}) 查询符合x:1的记录 db.test_collections.find().count() 查询满足条件的数目 db.test_collections.find().skip(3).limit(2).sort({x:1}) 忽略前三行,取两条数据,按照x排序db.test_collections.find().pretty() pretty() 方法以格式化的方式来显示所有文档,更好看。查询多个条件用逗号隔开复制代码

age大于50的,db.col.find({"age":{$gt:50}}).pretty()

转载地址:http://lewzx.baihongyu.com/

你可能感兴趣的文章
大型网站架构系列:电商网站架构案例(2)
查看>>
AsyncTask工作机制简介
查看>>
[Asp.net]SignalR实现实时日志监控
查看>>
【js】js中const,var,let区别
查看>>
【Java学习笔记之三十三】详解Java中try,catch,finally的用法及分析
查看>>
rfcn结构
查看>>
一脸懵逼学习Hdfs---动态增加节点和副本数量管理(Hdfs动态扩容)
查看>>
使用 Skeleton Screen 提升用户感知体验
查看>>
简易RPC框架-熔断降级机制
查看>>
下拉菜单:可高速定义一二级菜单颜色
查看>>
【BIEE】06_UNION /UNION ALL集合中分类汇总求和占比字段特殊处理
查看>>
ConcurrentLinkedQueue代码解析
查看>>
《android开发艺术探索》读书笔记(十三)--综合技术
查看>>
SpringBoot日志logback-spring.xml分环境(转)
查看>>
GDB && QString
查看>>
升职加薪的方法很简单,但做起来很难,兼说我换新工作时的初心
查看>>
小贝_mysql三种子查询
查看>>
Elasticsearch 教程--数据
查看>>
Mac 全局变量 ~/.bash_profile 文件不存在的问题
查看>>
windows 10 更新失败及应用商店重装问题解决记录
查看>>