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.主从复制
随机推荐
- [LibreOJ 3124]【CTS2019】氪金手游【容斥原理】【概率】【树形DP】
Description Solution 首先它的限制关系是一个树形图 首先考虑如果它是一个外向树该怎么做. 这是很简单的,我们相当于每个子树的根都是子树中最早出现的点,概率是容易计算的. 设DP状态 ...
- python3.6+selnium3+IE11问题及解决方法
环境:python3.6+selnium3+IE11+win7 一.输入框输入字符很慢,大概5秒输入一个字符 解决方法:把IEDriverServer.exe替换成32位的 二.用例异常后不继续执行剩 ...
- 理解ext文件系统
理解ext文件系统 @(0001学习博客) 注意:本文参考骏马金龙的博客,详情请移步浏览 一.一些常见的文件系统 Linux的文件系统: ext2(无日志功能), ext3, ext4, xfs, r ...
- kaliXSSbeef的使用
Kali中Beef的安装和使用: 先打开终端输入 apt-get install beef-xss 然后切换到beef的安装目录 cd /usr/share/beef-xss 然后启动beef ./b ...
- tp5获取器的用法。
1.命名规则 get + 属性名的驼峰命名+ Attr ------>在相应的model中创建方法 例如: protected function getSexAttr($value ...
- 190707Python-MySQL
一.Python连接MySQL import pymysql conn = pymysql.connect(host='192.168.100.4', port=3306, user='dongfei ...
- Vs2019+openjdk12 本地Debug环境搭建过程
1. VS2019下载和安装 这个就不写了 2. cygwin安装: https://jingyan.baidu.com/article/455a99507c0b78a166277809.html 需 ...
- [flask-sqlalchemy]倒序查询结果
按创建时间倒序查询测试用例 >>> a= TestCase.query.order_by(TestCase.create_time.desc()).first() >>& ...
- 阶段3 2.Spring_08.面向切面编程 AOP_2 spring中的aop术语和细节
基于接口的动态代理要求,要去被代理对象最少实现一个接口 基于子类的动态代理没有实现接口的要求.但是要求我们的被代理类不能是最终类 在Spring中可以选择基于接口还是子类的动态代理 术语 大白话.业务 ...
- jdbc 对sqlite的基本操作
1.向数据库中创建表 public void addTable( String dbpath) { //创建表单的sql语句 String createtablesql= " CREATE ...