天津网站建设优选企业,网站建设考虑哪些因素,采集文章留在网站,郑州注册公司费用MongoDB 是由C语言编写的#xff0c;是一个基于分布式文件存储的开源数据库系统。 在高负载的情况下#xff0c;添加更多的节点#xff0c;可以保证服务器性能。 MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB 将数据存储为一个文档#xff0c;数据结…MongoDB 是由C语言编写的是一个基于分布式文件存储的开源数据库系统。 在高负载的情况下添加更多的节点可以保证服务器性能。 MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB 将数据存储为一个文档数据结构由键值(keyvalue)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档数组及文档数组。
主要特点
面向集合存储易存储对象类型的数据。模式自由。支持动态查询。支持完全索引包含内部对象。支持查询。支持复制和故障恢复。使用高效的二进制数据存储包括大型对象如视频等。自动处理碎片以支持云计算层次的扩展性支持 RUBYPYTHONJAVACPHP 等多种语言。文件存储格式为 BSON一种 JSON 的扩展可通过网络访问
存储结构
MongoDB 中的记录就是一个 BSON 文档它是由键值对组成的数据结构类似于 JSON 对象是 MongoDB 中的基本数据单元。字段的值可能包括其他文档、数组和文档数组。 文档Document MongoDB 中最基本的单元由 BSON 键值对key-value组成类似于关系型数据库中的行Row。 集合Collection 一个集合可以包含多个文档类似于关系型数据库中的表Table。 数据库Database 一个数据库中可以包含多个集合可以在 MongoDB 中创建多个数据库类似于关系型数据库中的数据库Database。
SQL 与 MongoDB 对比
SQLMongoDB表Table集合Collection行Row文档Document列Col字段Field主键Primary Key对象 IDObjectid索引Index索引Index嵌套表Embeded Table嵌入式文档Embeded Document数组Array数组Array
使用方法
1.创建数据库
use DATABASE_NAME2.查看所有数据库
show dbs3.查看当前数据库
db4.切换数据库
use DATABASE_NAME5.删除数据库
db.dropDatabase()6.创建数据表
db.createCollection(TABLES_NAME)7.查看数据表
show tables
show collections8.删除数据表
db.TABLES_NAME.drop()9.表中插入数据
db.TABLES_NAME.insert(document)
db.TABLES_NAME.save(document)例
db.runoob.insert({name:菜鸟教程})或
document({name:菜鸟教程,age:18})
db.runoob.insert(document)10.查看表数据
db.TABLES_NAME.find(query)查多少条
db.TABLES_NAME.find().limit(NUMBER)跳过多少条
db.TABLES_NAME.find().limit(NUMBER).skip(NUMBER)格式化
db.TABLES_NAME.find(query).pretty()排序其中 1 为升序排列而 -1 是用于降序排列
db.TABLES_NAME.find().sort({KEY:1})MongoDB 与 SQL Where 语句比较
操作格式范例SQL Where 语句等于{:}db.col.find({“by”:“菜鸟教程”}).pretty()where by ‘菜鸟教程’小于{:{$lt:}}db.col.find({“likes”:{$lt:50}}).pretty()where likes 50小于或等于{:{$lte:}}db.col.find({“likes”:{$lte:50}}).pretty()where likes 50大于{:{$gt:}}db.col.find({“likes”:{$gt:50}}).pretty()where likes 50大于或等于{:{$gte:}}db.col.find({“likes”:{$gte:50}}).pretty()where likes 50不等于{:{$ne:}}db.col.find({“likes”:{$ne:50}}).pretty()where likes ! 50
例
db.col.find({name:菜鸟教程, title:MongoDB 教程}).pretty()
db.col.find({$or:[{name:菜鸟教程},{title: MongoDB 教程}]}).pretty()
db.col.find({likes: {$gt:50}, $or: [{name: 菜鸟教程},{title: MongoDB 教程}]}).pretty()11.修改表数据
db.TABLES_NAME.update(query,update,{upsert,multi,writeConcern})
db.TABLES_NAME.save(document,{writeConcern})参数说明 query : update的查询条件类似sql update查询内where后面的。 update : update的对象和一些更新的操作符如 , , ,inc…等也可以理解为sql update查询内set后面的 upsert : 可选这个参数的意思是如果不存在update的记录是否插入objNew,true 为插入默认是false不插入。 multi : 可选mongodb 默认是false,只更新找到的第一条记录如果这个参数为true,就把按条件查出来多条记录全部更新。 writeConcern :可选抛出异常的级别。 例
db.col.update({title:MongoDB 教程},{$set:{title:MongoDB}})
db.col.update({title:MongoDB 教程},{$set:{title:MongoDB}},{multi:true})
db.col.save({_id : ObjectId(56064f89ade2f21f36b03136),title : MongoDB})12.删除表数据
db.collection.remove(query,{justOne,writeConcern})参数说明 query :可选删除的文档的条件。 justOne : 可选如果设为 true 或 1则只删除一个文档如果不设置该参数或使用默认值 false则删除所有匹配条件的文档。 writeConcern :可选抛出异常的级别 例
db.col.remove({title:MongoDB 教程})
db.col.remove({title:MongoDB 教程},1)13.清空表数据
db.col.remove({})