MongoDB基本概念及使用
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,MongoDB简介简介:MongoDB是一个基于分布式文件存储的开源数据库系统,它基于文档(document,即关系型数据库中的行的概念)进行存储,以key=>value的形式进行存储,类似于JSON
千家信息网最后更新 2025年12月03日MongoDB基本概念及使用
MongoDB简介
简介:MongoDB是一个基于分布式文件存储的开源数据库系统,它基于文档(document,即关系型数据库中的行的概念)进行存储,以key=>value的形式进行存储,类似于JSON的格式。mongodb是属于文档型的非关系型数据库,是开源、高性能、高可用、可扩展的。
MongoDB和关系型数据库的对比
下图为sql术语与mongodb术语的对比:
文档
文档是 MongoDB 中数据的基本单元,理解起来很简单,就是一组数据有序的放在一起就是文档。
例如:
单键值文档 {"userName":"Bertram"}
多键值文档 {"_id" : ObjectId("ff4a0ead0c5fc752b13f2af441b7da12"), "name" : "Bertram", "countryName" : "Japan" }
集合
多个文档放在一起就是集合。
数据库
多个集合放在一起就是数据库。
shell 部分命令表
1)show dbs 显示所有数据库
> show dbs //新创建的数据库不会显示。需要写入一些数据,才会显示。admin (empty)local 0.078GBtest 0.078GBservice 0.058GB> 2)db 显示当前数据库
> db test3)use 切换 或 创建数据库
> use local //如果数据库不存在,则创建数据库,否则切换到指定数据库。switched to db local> dblocal> MongoDB之数据库,集合,文档基本操作
1.MongoDB 创建数据库以及删除数据库
1) 创建数据库 :use DATABASE_NAME 如果数据库不存在,则创建数据库,否则切换到指定数据库2)删除数据库 : db.dropDatabase() 2.创建集合以及删除集合
1)创建集合: db.createCollection(name, options)参数说明:• name: 要创建的集合名称• options: 可选参数, 指定有关内存大小及索引的选项2)集合删除:db.collection.drop()3)如果要查看已有集合,可以使用 show collections 或show tables命令:> show collections 或 show tables4)实例:下面是带有几个关键参数的 createCollection() 的用法:创建集合(整个集合空间大小 10240KB, 文档最大个数为17855200个。)> db.createCollection('replicationColletion', {'capped':true, 'size':10240, 'max':17855200}){ "ok" : 1 }>在 MongoDB 中,你不需要创建集合。当你插入一些文档时,MongoDB 会自动创建集合。> db.curriculum.insert({"name" : "English"})> show collectionscurriculum3.插入文档
1) 插入文档:MongoDB 使用 insert() 或 save() 方法向集合中插入文档,语法如下:db.serviceLECTION_NAME.insert(document)实例:以下文档可以存储在 MongoDB 的 runoob 数据库 的 service 集合中:>db.service.insert({title: 'MongoDB 学习', description: 'MongoDB 是一个 Nosql 数据库', by: '51CTO博客', url: 'https://docs.mongodb.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100})以上实例中 service 是集合名,如果该集合不在该数据库中,MongoDB 会自动创建该集合并插入文档。2)查看已插入文档:> db.service.find(){ "_id" : ObjectId("5e143d32183a994d1b71c06a"), "title" : "MongoDB 学习", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "51CTO博客", "url" : "https://docs.mongodb.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }-----3)我们也可以将数据定义为一个变量,如下所示:> document=({title: 'MongoDB 学习', description: 'MongoDB 是一个 Nosql 数据库', by: '51CTO博客', url: 'https://docs.mongodb.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100});执行后显示结果如下:{ "title" : "MongoDB 学习", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "51CTO博客", "url" : "https://docs.mongodb.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100}执行插入操作:> db.service.insert(document)WriteResult({ "nInserted" : 1 })插入文档你也可以使用 db.service.save(document) 命令。如果不指定 _id 字段 save() 方法类似于 insert() 方法。如果指定 _id 字段,则会更新该 _id 的数据。4.查询文档
--MongoDB 查询文档使用 find() 方法。--find() 方法以非结构化的方式来显示所有文档。--MongoDB Limit() 方法如果你需要在MongoDB中读取指定数量的数据记录,可以使用MongoDB的Limit方法,limit()方法接受一个数字参数,该参数指定从MongoDB中读取的记录条数。--count查询记录条数--MongoDB Skip() 方法除了可以使用limit()方法来读取指定数量的数据外,还可以使用skip()方法来跳过指定数量的数据,skip方法同样接受一个数字参数作为跳过的记录条数。实例:> db.service.find(){ "_id" : ObjectId("5e143d32183a994d1b71c06a"), "title" : "MongoDB 学习", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "51CTO博客", "url" : "https://docs.mongodb.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 > db.service.find({},{"title":"0","_id":"1"}).limit(1){ "_id" : ObjectId("5e143d32183a994d1b71c06a"), "title" : "MongoDB 学习" }> db.service.find().limit(2){ "_id" : ObjectId("5e143edc183a994d1b71c06b"), "title" : "Python 教程", "description" : "Python 是一种编程语言", "by" : "51CTO博客", "url" : "https://www.python.org", "tags" : [ "Python", "programme", "language" ], "likes" : 120 }注:如果查询 find 没有指定limit()方法中的参数则显示集合中的所有数据。> db.service.find().count() //查询并统计结果记录数> db.service.count() //统计数据量以下实例只会显示第二条文档数据> db.service.find({},{"title":"1",_id:0}).limit(1).skip(1){ "title" : "Python 教程" }
数据
数据库
文档
方法
参数
博客
学习
实例
查询
就是
存储
命令
数量
切换
多个
大小
字段
教程
数字
术语
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库分类 有什么区别
cf客户端进服务器特别慢
上海网络软件开发销售
东华服务器如何
国泰安数据库值怎么找
英文版access数据库教程
广州伯纳斯互联网科技有限公司
型数据库基础
it狂人网络技术学习
网络安全电话号码
上海网络安全技术研究所
下列是数据库系统的用户之一
高校选课系统数据库系统设计
2018年银行网络安全报告
新加坡网络安全系统维护
网络安全可视化与5G的关系
服务器能装台式机的配件吗
武昌区电商网络安全维护资费
网络技术回送地址
做数据库用什么工具好
最新网络安全展望
网络安全端口混淆
易语言软件开发视频
南京财务软件开发流程
spring分布式数据库
软件开发项目投标技术建议书
支付宝网络技术划款入公司
数据库游标的作用及优缺点
网络安全案例 ppt
诛仙服务器搭建
