MongoDB数据库的操作
一、操作MongoDB数据库
1、创建数据库
语法:ues
注意:如果数据库不存在则再创建数据库,否则切换到指定的
数据库!如果刚刚创建的数据不在列表中,如果需要显示这个数
据库,那么需要在刚刚创建的数据库中插入一些数据(db.student.
insert({name:"Tom",age:22,gender:1,address:"北京",
isDelete:0}))
2、查看数据库
语法:show dbs
3、查看当前正在使用的数据库
a. db
b. db.getName() #mongoDB区分大小写
4、断开连接
exit
5、查看命令api
help
6、删除数据库
前提:使用当前数据库(use 数据库名)
db.dropDatabase()
二、集合操作
1、查看当前数据库下有哪些集合
show collections
2、创建集合
a.
语法:db.createCollection("集合名")
示例:db.createCollection("class")
b.
语法:db.集合名.insert(document)
示例:db.集合名.insert({name:"Tom",age:22,gender:1,
address:"北京",isDelete:0})
对比:两者的区别在于前者创建的是一个空的集合,后者
创建一个空的集合并添加一个文档
3、删除当前数据库中的集合
语法:db.集合名.drop()
示例:db.class.drop()
三、文档操作
1、插入文档
a.使用insert()方法插入多条文档
语法:db.集合名.insert([文档1,文档2,文档3...])
示例:db.class.insert([{name:"Tom",age:22,gender:1,
address:"北京",isDelete:0},{name:"kaka",age:22,gender:1,
address:"北京",isDelete:0},{name:"hua",age:22,gender:0,
address:"北京",isDelete:0}])
b.使用save()方法插入文档
语法:db.集合名.save(文档)
说明:若果不指定_id字段,save()方法类似于insert()方法,
如果指定_id字段,则会更新_id字段的数据
示例1:db.student.save({{name:"khan",age:22,gender:1,
address:"北京",isDelete:0}})
示例2:db.student.save({_id:objectId("id值")},{name:"khan",
age:23,gender:1,address:"北京",isDelete:0})
2、文档更新
a.update()方法用于更新已存在的文档
语法:
db.集合名.update(
<query>,
<update>,
{
upset:<boolean>,
multi:<boolean>,
writeConcern:<document>
})
参数说明:
query:update的查询条件,类似于sql里update语句内where后面
的内容
update:update的对象和一些更新的操作符($set,$inc)等,$set
直接更新,$inc在原有的基础上累加后更新
upset:可选的参数,如果不存在update的记录,是否有新数据插入,
true为插入,false为不插入,默认为false
multi:可选,mongoDB默认是false,只更新找到的第一条记录,如果
为true,就按照查找出来的数据全部更新
writeConcern:可选,抛出异常的级别
需求:将khan的年龄更新为25
示例:db.student.update({name:"khan"},{$set:{age:25}})
# $inc:累加年龄
db.student.update({name:"khan"},{$inc:{age:25}})
# 同名人的年龄全改为18
db.student.update({name:"kaka"},{$set:{age:18}},
{multi:true})
b.save()方法通过传入的文档替换已有文档
语法:
db.集合名,save(
document,
{
writeConcern:<document>
})
参数说明:
document:文档数据
writeConcern:可选,抛出异常的级别
3.文档删除
说明:在执行remove()函数前,先执行find()命令来判断执行
的条件是否存在
语法:
db.集合名.remove(
query,
{
justOne:<boolean>
writeConcern:<document>
})
参数说明:
query:可选,删除文档的条件
justOne:可选,如果为true或1,则只剩一个文档
4.文档查询
MongoDB数据库的操作的更多相关文章
- MongoDB数据库简单操作
之前学过的有mysql数据库,现在我们学习一种非关系型数据库 一.简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数 ...
- MongoDB数据库基础操作
前面的话 为了保存网站的用户数据和业务数据,通常需要一个数据库.MongoDB和Node.js特别般配,因为Mongodb是基于文档的非关系型数据库,文档是按BSON(JSON的轻量化二进制格式)存储 ...
- mongodb数据库集合操作
1:更新update update() 方法用于更新已存在的文档.语法格式如下: db.collection.update( <query>, <update>, { upse ...
- linux下的mongodb数据库原生操作
mongodb,是一种结构最像mysql的nosql mysql中的数据库,mongodb中也有,区别在于, myql中数据库下的是表,字段和数据的形式存在 mongodb数据库下的是叫集合(和pyt ...
- MongoDB数据库常用操作
推荐文章 --- 一天精通MongoDB数据库 注意: monogdb数据在使用之后必须及时 mongodb.close()否则后台崩溃. 1. 删除文档中的一个字段 db.<集合名>.u ...
- mongodb数据库常用操作的整理
这是个人在项目中抽取的代码,自己写的utils的通用模块,使用的框架是tronado,包括了数据库的认证,以及增删改查排序,如有特别需要可以联系我或者自己扩展,刚学python不久,仅供参考,例子如下 ...
- windows 安装 Mongodb 数据库及操作图形化软件 Robo 3T
1 下载系统对应的正确 Mongodb 和 Robo 3T 版本 2 选中 Mongodb 需要安装的路径(后续会使用路径) 3 启动 Mongodb 服务器(到安装相关的路径) 可以参考 菜鸟教程 ...
- MongoDB数据库的操作,增删改查
在student集合中插入一些数据 db.student.insert({ "学号":10010, "姓名":"德莱文", "年龄 ...
- mongodb数据库高级操作
1.创建索引 2.索引名称 3.其他索引 4.explain 5.操作索引 6.高级特性 7.固定集合 8.导入导出 9.上锁 10.添加用户 11.主从复制
随机推荐
- Oracle用函数或PIVOT实现行转列
原数据: 目标数据: 实现代码: SELECT YEAR AS "年", SUM (DECODE (QUATER, 1, RATE, 0)) AS "季度一", ...
- Unity3D_(API)场景切换SceneManager
Unity场景切换SceneManager 官方文档:传送门 静态方法 创建场景 CreateScene Create an empty new Scene at runtime with the g ...
- RedisTemplate与zset
Redis 数据结构简介 Redis 可以存储键与5种不同数据结构类型之间的映射,这5种数据结构类型分别为String(字符串).List(列表).Set(集合).Hash(散列)和 Zset(有 ...
- BootStrap之X-editable插件使用
项目背景 刚加入公司的新项目,主要在做开发工作.由于是新手,本周的工作是配合另外一个同事写前台页面.前台框架是Bootstrap,本文主要介绍一下项目需求的一个功能——表格行内编辑事件. 使用X-ed ...
- spring-sevlet简单配置
<<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www ...
- TCP定时器 之 TIME_WAIT定时器
概述 在FIN_WAIT_2收到对端发来的FIN,并回复ACK之后,会进入TIME_WAIT状态,此时添加定时器,定时器超时会将tw控制块从ehash和bhash中删除,并且释放tw控制块: 启动定时 ...
- LeetCode 34. 搜索范围(search for a range)
题目描述 给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置. 你的算法时间复杂度必须是 O(log n) 级别. 如果数组中不存在目标值 ...
- R实现pm2.5地图数据展示
使用rvest包抓取pm2.5静态页面数据,使用leafletCN包实现pm2.5数据的地图展示,代码如下所示: library(rvest) library(leafletCN) Sys.setlo ...
- assert断言用法
使用assert断言是学习python一个非常好的习惯,python assert 断言句语格式及用法很简单.在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件 ...
- [VBA]汇总多个工作簿的指定工作表到同一个工作簿的指定工作表中
sub 汇总多个工作簿() Application.ScreenUpdating = False Dim wb As Workbook, f As String, l As String, n As ...