什么做电子书下载网站好,青海免费网站建设,云客微信管理系统,汕头澄海MongoDB 是一个开源的文档导向数据库#xff0c;采用NoSQL#xff08;非关系型数据库#xff09;的设计理念。MongoDB是一个基于分布式文件存储的数据库。 分布式文件存储是一种将文件数据分布式的存储在多台计算机上。MongoDB是一款强大的文档导向数据库#xff0c;适合处…MongoDB 是一个开源的文档导向数据库采用NoSQL非关系型数据库的设计理念。MongoDB是一个基于分布式文件存储的数据库。 分布式文件存储是一种将文件数据分布式的存储在多台计算机上。MongoDB是一款强大的文档导向数据库适合处理大量动态数据和需要灵活数据模型的应用场景 文档导向数据库它以文档的形式存储数据每个文档都是一个键值对的集合类似于JSON对象可以包含各种类型的数据。MongoDB的优点 文档向导MongoDB存储数据的基本单位是文档类似于JSON{java scripts}对象文档可以包含嵌套的数据结构这是得数据模型更加灵活 可扩展性MongoDB支持水平扩展可以通过添加更多的机器来增加存储容量和提高性能 高性能MongoDB使用内存映射文件的方式来提供高性能的数据访问并且支持复制和分片 丰富的查询语言MongoDB提供了丰富的查询语言和索引支持可以进行复杂的数据查询和聚合操作数据存储的逻辑结构 MySQL 逻辑结构 库-表-数据行 Mongodb 逻辑结构 库-集合-文档Mongodb的部署 1.创建一个用户专门用来管理Mongodb useradd mongod passwd mongod 2.创建mongodb所需要的目录 mkdir -p /mongodb/conf mkdir -p /mongodb/log mkdir -p /mongodb/data 3.拖包安装 解压数据包tar xf mongodb-linux-x86_64-rhel70-4.4.4.tgz 拷贝目录下的bin目录到 /下的mongodb cp -a mongodb-linux-x86_64-rhel70-4.4.4/bin/ /mongodb 4.设置目录结构权限 chown -R mongod:mongod /mongodb 5.设置用户环境变量 su - mongod vi .bash_profile 添加export PATH/mongodb/bin:$PATH 保存退出 source .bash_profile 6.创建配置文件并写入内容YAML格式 cat /mongodb/conf/mongo.conf EOF systemLog: destination: file path: /mongodb/log/mongodb.log logAppend: true storage: journal: enabled: true dbPath: /mongodb/data/ processManagement: fork: true net: port: 27017 bindIp: 192.168.8.5,127.0.0.1 EOF 7.启动/关闭mongodb端口27017 启动mongod -f /mongodb/conf/mongo.conf 关闭mongod -f /mongodb/conf/mongo.conf --shutdown 8.登录mongodb mongo 至此 mongodb数据库部署完毕以下是常用的基本操作mongodb常用基本操作 mongodb 默认存在的库 show databases; admin 0.000GB config 0.000GB local 0.000GB 查看当前db版本db.version() 查看当前在那个库中db\db.getName() 查看所有库show dbs 切换数据库use [库名] 查看所有的collection(集合\表)show tables 显示当前数据库状态db.stats() 查看当前连接数据库的主机ipdb.getMongo()Mongodb对象的操作 mongo mysql 库 ----- 库 集合 ----- 表 文档 ----- 数据行1.库的操作 创建库时注意 当use的时候系统就会自动创建一个数据库。 如果use之后没有创建任何集合。 系统就会删除这个数据库。 删除数据库; 如果没有选择任何数据库会删除默认的test数据库 //删除test数据库 创建一个A库use A 删除A库 use A db.dropDatabase() 先使用use切换到要删除的库下再使用db.dropDatabase命令删除 2.集合的操作 创建集合语法格式 db.createCollection(name,options) 参数说明 name: 要创建的集合名称 options: 可选参数, 指定有关内存大小及索引的选项 capped 值为true则创建固定集合 autoIndexId 值为true自动在 _id 字段创建索引。 size 为固定集合指定一个最大值以字节计 max 指定固定集合中包含文档的最大数量 实例1 use app 创建a表db.createCollection(a) 创建b表db.createCollection(b) 查看当前数据库下所有集合show collections\db.getCollectionNames() 实例2 当插入一个文档的时候一个集合就会自动创建 db.集合.insert({键值,键值}) 查询数据 查看集合中所有内容 db.haha.find().pretty() 查看集合满足条件的文档 db.haha.find({id:102}).pretty()、 删除集合 db.集合名.drop() 重命名集合 db.old.renameCollection(new) 批量插入数据 for(i0;i10000;i){db.log.insert({uid:i,name:docker,age:6,date:new Date()})} 3.mongodb数据查询语句 查询集合中所有数据db.集合.find() 默认每页显示20条记录当显示不下的的情况下可以用it迭代命令查询下一页数据。 查看第一条记录db.log.findOne() 查询总的记录数db.log.count() 删除集合中的记录数 删除满足条件的文档db.log.deleteOne({uid:0}) 删除集合中所有记录db.log.remove({}) 查看去掉重复的数据db.log.distinct(name) 4.查询集合存储信息 查看集合状态db.集合名.stats() 查询集合中数据的原始大小db.log.dataSize() 查询集合中索引数据的原始大小db.log.totalIndexSize() **查询集合中索引数据压缩存储之后的大小db.log.totalSize() 查询集合中数据压缩存储的大小db.log.storageSize() 5.变量插入数据 插入数据 db.col.insert({title: MongoDB, description: Nosql数据库, by: 教程, url: http://www.test.com, tags: [mongodb, database, NoSQL], likes: 100 }) 将以上插入数据的操作定义为变量 document({title: MongoDB, description: Nosql数据库, by: 教程, url: http://www.test.com, tags: [mongodb, database, NoSQL], likes: 100 }); 使用变量插入数据 db.col.insert(document) 6.单行插入数据\多行插入数据 单行db.collection.insertOne({a:1}) 多行 注先将插入操作定义为一个变量然后执行这个变量 var res1db.collection.insertMany([{b: 3}, {c: 4}]) res1 7.MongoDB更新文档 先插入数据用于验证 db.col.insert({ title: MongoDB, description: Nosql数据库, by: 教程, url: http://www.test.com, tags: [mongodb, database, NoSQL], likes: 100 }) 使用update()方法来更新标题title db.col.update({title:MongoDB},{$set:{title:123}}) 查看更新结果 db.col.find().pretty() 发现只修改了第一行文档想要修改行需要设置multi参数为true db.col.update({title:MongoDB},{$set:{title:123}},{multi:true}) 删除匹配条件的一条文档 db.collection.deleteOne({c:4}) 删除匹配条件的所有文档: db.collection.deleteMany({b:3})