当前位置: 首页 > news >正文

Mongodb数据库基本操作

本文为在命令行模式下Mongodb数据库的基本操作整理。

目录

数据库操作

创建数据库

查看所有数据

查看当前数据库

删除数据库

断开连接

查看命令api

集合操作

查看当前数据库下集合

创建集合

删除当前数据库中的集合

文档操作

插入文档

insertOne()方法

insertMany()方法

文档更新

updateOne()方法

updateMany()方法

文档删除

remove()方法

文档查询

find()方法

pretty()方法

findOne()方法

查询条件操作符

大于 $gt

大于等于 $gte

小于$lt

小于等于 $lte

大于等于和小于等于 $gte 和 $lte

等于

使用 id进行查询

查询结果条数

查询是否包含

查询某开头

条件査询and 和 or

AND条件

OR条件

AND和OR联合使用

limit、 skip

limit()

skip()

skip与1imit联合使用

排序

总结


数据库操作

创建数据库

语法:use 数据库名

注意:

如果数据库不存在则创建数据库,否则切换到指定的数据库

如果刚刚创建的数据库不在列表内,如果要显示它,需要向刚刚创建的数据库中插入一些数据。

db.student.insertOne({name:"tom",age:18,gender:1,address:"北京",isDelete:0})

 

查看所有数据

show dbs

查看当前数据库

1.db2.db.getName()

 

删除数据库

前提:使用当前数据库(use 数据库名)

db.dropDatabse()

 

断开连接

exit

 

查看命令api

help

集合操作

查看当前数据库下集合

show collections

创建集合

语法:db.createCollection("集合名")

示例:

db.createCollection("class")

创建的是一个空的集合

删除当前数据库中的集合

语法:db.集合名.drop()

示例:

db.class.drop()

文档操作

插入文档

insertOne()方法

新增单个文档

语法:db.集合名.insertOne(文档)

示例:

db.student.insertOne({name:"lilei",age:19,gender:1,address:"北京",isDelete:0})

insertMany()方法

新增多个文档

语法:db.集合名.insertMany(文档)

示例:

db.student.insertMany({name:"海妹妹",age:17,gender:0,address:"北京",isDelete:0},{name:"韩梅梅",age:20,gender:0,address:"上海",isDelete:0})

文档更新

updateOne()方法

用于更新已存在的文档,只修改符合记录的第一条。

语法:db.集合名.updateOne(<query>,<update>,{

        upset:<boolean>,

        multi:<boolean>,

        writeconcern:<document>

})

参数说明:

query:update的查询条件,类似于sql里update语句内where后面的内容

update:

update的对象和一些更新的操作符($set,$inc)等,

$set直接更新,$inc在原来的基础上累加后更新

Upset:可选,mongodb默认是false,只更新找到的第一条记录;

如果这个参数为true,就按照条件查找出来的数据全部更新。

WriteConcern:可选,抛出异常的级别

需求:将1ilei的年龄更新为25

db.student.updateOne({name:"lilei"},{$set:{age:25}})

需求:将lilei的年龄更新为25

示例:

db.student.updateOne({name:"lilei"}{$set:{age:25}})

累加:

db.student.updateOne({name:"lilei"},{$inc:{age:25}})

 

updateMany()方法

用于更新已存在的文档,修改符合记录的所有记录。

参数与updateOne()方法相同。

文档删除

remove()方法

说明:在执行remove()函数前,先执行find()命令来判断执行的条件是否存在

语法:db.集合名.remove(query,{

        justOne:<boolean>,

        writeconcern:<document>

})

参数说明:

query:可选,删除的文档的条件

justone:可选,如果为true或1,则只删除一个文档

writeconcern:可选,抛出异常的级别

示例:

db.student.remove({name:"zhangsan"})

deleteOne()方法

说明:从集合中删除一个单独的文档,

语法:db.集合名.deleteOne(filter, {

        writeConcern: <document>,

        collation: <document>,

        hint: <document|string>

})

参数说明:

filter:使用查询运算符指定删除条件。

指定一个空文档{}以删除集合中返回的第一个文档。

writeconcern:可选,抛出异常的级别.

collation:可选,排序规则

hint:可选,用于指定支持查询谓词的索引的文档或字符串。

示例:

db.student.deleteOne({name:"zhangsan"})

deleteMany()方法

说明:从集合中删除多个文档。

语法:db.集合名.deleteMany(filter, {

        writeConcern: <document>,

        collation: <document>,

})

参数说明:

filter:使用查询运算符指定删除条件。

指定一个空文档{}以删除集合中返回的第一个文档。

writeconcern:可选,抛出异常的级别.

collation:可选,排序规则

示例:

db.student.deleteMany({name:"zhangsan"})

文档查询

find()方法

查询所有数据

语法:db.集合名.find()

查询集合下所有的文档(数据):

db.student.find()

查询指定列

语法:db.集合名.find(query,{

        <key>:1,

        <key>:1

})

参数说明:

query:查询条件

key:要显示的字段,1表示显示

示例:

db.student.find({gender:0},{name:1,age:1})db.student.find({},{name:1,age:1})

pretty()方法

以格式化的方式来显示文档

示例:

db.student.find().pretty()

findOne()方法

查询匹配结果的第一条数据

示例:

db.student.findOne({gender:0})

查询条件操作符

作用:条件操作符用于比较两个表达式并从Mongodb集合中获取数据

大于 $gt

语法:db.集合名.find({<key>:{$gt:<value>}})

示例:

db.student.find({age:{$gt:20}})

 

大于等于 $gte

语法:db.集合名.find({<key>:{$gte:<value>}})

小于$lt

语法:db.集合名.find({<key>:{$lt:<value>}})

小于等于 $lte

语法:db.集合名.find({<key>:{$lte:<value>}})

大于等于和小于等于 $gte 和 $lte

语法:db.集合名.find({<key>:{$gte:<value>,$lte:<value>}})

等于

语法:db.集合名.find({<key>:<value>})

 

使用 id进行查询

语法: db.student.find({" id":objectId("id值")})

示例:

db.student.find({" id":objectId("5995084b019723fe2a0d8d14")})

 

查询结果条数

查询某个结果集的数据条数

db.student.find().count()

 

查询是否包含

查询某个字段的值当中是否包含另一个值

示例:

db.student.find({name:/ile/})

 

查询某开头

查询某个字段的值是否以另一个值开头

示例:

db.student.find({name:/^li/})

条件査询and 和 or

AND条件

语法:db.集合名.find({条件1,条件2,…,条件n})

示例:

db.student.find({gender:0,age:{$gt:16}})

OR条件

语法:db.集合名.find({

$or:[{条件1},{条件2},…,{条件n}]})

示例:

db.student.find({$or:[{age:17},age:{$gte:20}}]})
AND和OR联合使用

语法:db.集合名.find({条件1,条件2,$or:[条件3},{条件4}]})

limit、 skip

limit()

读取指定数量的数据记录

db.student.insertOne([{name:"妹妹2",age:17,gender:0,address:"北京",isDelete:0},{name:"韩梅梅1",age:20,gender:0,address:"上海",isDelete:0}])db.student.find().limit(2)

skip()

跳过指定数量的数据

db.student.find().skip(3)

skip与1imit联合使用

通常用这种方式来实现分页功能

示例:

db.student.find().skip(3).limitf3)

排序

语法:db.集合名.find().sort({<key>:1|-1})

示例:

db.student.find().sort({age:1})

注意:1表示升序,-1表示降序

总结

本文为在命令行模式下Mongodb数据库的基本操作整理。

http://www.lryc.cn/news/380025.html

相关文章:

  • 【机器学习】基于Softmax松弛技术的离散数据采样
  • .NET+Python量化【1】——环境部署和个人资金账户信息查询
  • 洛谷 P10584 [蓝桥杯 2024 国 A] 数学题(整除分块+杜教筛)
  • 深入讲解C++基础知识(一)
  • Python爬虫实战:批量下载网站图片
  • 使用 JavaScript 获取电池状态
  • java—类反射机制
  • 浏览器-服务器架构 (BS架构) 详解
  • 微型操作系统内核源码详解系列五(四):cm3下svc启动任务
  • 筛质数(暴力法、埃氏筛、欧拉筛)
  • 使用USI作为主SPI接口
  • AI播客下载:Eye on AI(AI深度洞察)
  • Flink 窗口触发器
  • Java面试题:解释线程间如何通过wait、notify和notifyAll方法进行通信
  • 【机器学习 复习】第9章 降维算法——PCA降维
  • Ubuntu系统docker gpu环境搭建
  • 网络安全-如何设计一个安全的API(安全角度)
  • 微积分-导数1(导数与变化率)
  • 最新PHP仿猪八戒任务威客网整站源码/在线接任务网站源码
  • Windows安装配置jdk和maven
  • 电子SOP实施(MQTT协议)
  • 【Unity导航系统】Navigation组件的概念及其使用示例
  • vue-cli 根据文字生成pdf格式文件 jsPDF
  • 【嵌入式DIY实例】-Nokia 5110显示DS3231 RTC数据
  • 【十三】图解mybatis缓存模块之装饰器模式
  • 字节大神强推千页PDF学习笔记,弱化学历问题,已拿意向书字节提前批移动端!
  • Python爬虫-贝壳二手房“改进版”
  • zookeeper学习、配置文件参数详解
  • SVG 模糊效果
  • Electron+vite+vuetify项目搭建