MongoDB基本概念及使用
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,MongoDB简介简介:MongoDB是一个基于分布式文件存储的开源数据库系统,它基于文档(document,即关系型数据库中的行的概念)进行存储,以key=>value的形式进行存储,类似于JSON
千家信息网最后更新 2026年11月02日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安全错误
数据库的锁怎样保障安全
厦门中拓互联网络科技有限公司
互联网巨头科技公司
互联网科技的发展
科技与互联网发展
上海喔噻互联网科技
互联网科技美容
成都狮子座互联网科技
互联网对科技的发展
新兴科技互联网创新大赛颁奖典礼
苏州铭阳互联网科技有限公司
搜狐科技互联网
中国互联网十大科技股排名
互联网金融科技展
中国互联网公司排名锤子科技
下一代互联网重大应用科技园
郑州欣桑互联网科技有限公司
互联网时代科技型公司的机会
悟空问答互联网科技
现代互联网科技公司
高科技和互联网的现代国家
互联网金融监管科技数据
互联网巨头科技公司
奇酷互联网络科技
广西互联网科技公司
互联网科技有哪些公司
燊美集互联网科技有限公司
用友工业互联网科技发展
恒生互联网科技业指数调整周期
中科明德北京互联网科技
互联网风格科技公司名称
