MongoDB基本概念及使用
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,MongoDB简介简介:MongoDB是一个基于分布式文件存储的开源数据库系统,它基于文档(document,即关系型数据库中的行的概念)进行存储,以key=>value的形式进行存储,类似于JSON
千家信息网最后更新 2025年02月04日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 test
3)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 collectionscurriculum
3.插入文档
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安全错误
数据库的锁怎样保障安全
学校用的数据库是黑白的
大数据软件开发面试好过吗
服务器 磁带备份
中国家电网络技术
电脑如何调用服务器文件
计算机等级考试数据库四级
朗米软件开发
starbase数据库 预后
cmtds网络安全吗
大会话关于网络安全晚安
如何查看数据库的链接数
sql数据库文件怎么编辑
国家网络安全周考试题
计算机网络安全论述摘要
数据库及应用技术人教版习题答案
数据库字段修改字段类型
网络安全对绩效考核
麟腾网络技术有限公司
山东建筑大学软件开发工程
魔兽世界祈福服务器是哪个区
遵义网络安全宣传活动
松江区品牌软件开发诚信服务
使用网络技术哪家强
芜湖蓝睿互联网科技有限公司公示
arcserver服务器
dellt130服务器单根内存
sdp软件开发平台破解版
根服务器 安全
软件开发用什么模拟器
网络技术类是做什么的