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.主从复制
随机推荐
- TensorFlow使用记录 (一): 基本概念
基本使用 使用graph来表示计算任务 在被称之为Session的上下文中执行graph 使用tensor表示数据 通过Variable维护状态 使用feed和fetch可以为任意的操作(op)赋值或 ...
- VS Code 最好用的 Markdown 插件
对经常使用 Markdown 写东西的工程师来说找到称手好用的 Markdown 编辑器非常重要. 目前为止 VS Code 最好用的插件是 Markdown Preview Enhanced . 各 ...
- Linux命令-文本编辑(一)
Linux命令-文本编辑(一) Linux col命令 Linux col命令用于过滤控制字符. 在许多UNIX说明文件里,都有RLF控制字符.当我们运用shell特殊字符">&quo ...
- mysql bit 和 tinyint 的区别及使用场景?
bit类型语法:bit[(M)] : 位字段类型.M表示每个值的位数,范围从1到64.如果M被忽略,默认为1. tinyint是数字类型,存储小数, 一般对应编辑语言里的小字典或枚举类型. 节省空间的 ...
- happens-before规则和as-if-serial语义
JSR-133使用happens-before的概念来阐述操作之间的内存可见性.在JMM中,如果一个操作执行的结果需要对另一个操作可见, 那么这2个操作之间必须要存在happens-before关系. ...
- 隐藏表单域、URL重写、cookie、session
隐藏表单域: 隐藏域是用来收集或发送信息的不可见元素,对于网页的访问者来说,隐藏域是看不见的.当表单被提交时,隐藏域就会将信息用你设置时定义的名称和值发送到服务器上. 代码格式:<input t ...
- Linux环境下TomCat使用指定JDK的版本
服务器是web服务器,在上面安装了jdk1.7和jdk1.8.及多个tomcat应用,默认/etc/profile 配置的jdk1.7,大部分tomcat应用使用的也是jdk1.7, 但目前有一个新项 ...
- python3 使用装饰器,及函数作为参数
#装饰import typesdef shucai(n): print('蔬菜价格7') if type(n)==types.FunctionType: return n()+7 return n+7 ...
- 论文阅读Graph Convolutional Matrix Completion
摘要:我们从链路预测的视角考虑推荐系统的matrix completion.像电影评分的交互数据可以表示为一个user-item的二分图,其中的edge表示观测到的评分.这种表示是特别有用的在额外的基 ...
- Kotlin的高阶函数和常用高阶函数
Kotlin的高阶函数和常用高阶函数 文章来源:企鹅号 - Android先生 高阶函数的定义 将函数当做参数或者是返回值的函数 什么是高阶函数 可以看看我们常用的 函数: 首先我们可以知道, 是 的 ...