本文共 2397 字,大约阅读时间需要 7 分钟。
MongoDB适合储存大量关联性不强的数据。
MongoDB中的数据以“库”—“集合”—“文档”—“字段”结构进行储 存。这种结构咋看和传统关系型数据库的“库”—“表”—“行”—“列”结构非常像。但是,MongoDB不需要预先定义表结构,数据的字段可以任意变动,并发写入速度也远远超过传统关系型数据库。官网下载4.0
bin目录下: cfg为配置文件在c盘下新建data文件夹,其中再新建db:
输入mongod.exe 图形化界面的软件:robo 3T Robo 3T的下载地址为:https://robomongo.org/download create database创建数据库插入单条数据的命令为“insertOne()”。
db.getCollection(‘learning’).insertOne({“name”: “张小二”, “age”: 17, “address”: “浙江”}) MongoDB还允许Key不带引号,直接写成{name: ’王小六’, age: 25, work: ’厨师’}。但这种写法存在一些局限性,并且会导 致MongoDB的命令不方便平滑移植到Python中。因此,建议使用带单引号的写法或者带双引号的写法 在MongoDB里,插入数据的字段是可以任意修改、添加、删除的 如再插入: db.getCollection(‘learning’).insertOne({“today”: “6.8”,“tomo”:“9”}) db.getCollection(‘learning’).insertOne({“today”: “六月八日”,“tomo”:“9”,“week”:“tuesday”}) 提示: “能不能做”是一回事,“应不应该做”是另一回事。虽然 MongoDB能够处理同一个字段的不同数据类型,也可以随意增减字段,但并不意味着应该这样做。在设计数据库时,应尽量保证同一个字段使用同一种类型的数据,并提前考虑好应该有哪些字段。db.getCollection(‘learning’).insertMany([{“name”: “小明”,“age”:“9”},
{“name”: “小红”,“age”:“19”}, {“name”: “小王”,“age”:“22”}]) 切换显示模式:注:
无论是插入一条数据还是插入多条数据,每一条数据被插入 MongoDB 后都会被自动添加一个字段“_id”。“_id”读作“Object Id”,它是由时间、机器码、进程pid和自增计数器构成的。 “_id”始终递增,但绝不重复。 ● 同一时间,不同机器上面的“_id”不同。 ● 同一机器,不同时间的“_id”也不同。 ● 同一机器同一时间批量插入的数据,“_id”依然不同。db.getCollection(‘learning’).find()
或 db.getCollection(‘learning’).find({}) 查询特定数据: db.getCollection(‘learning’).find({‘name’:‘小红’})“find”的参数相当于一个字典。字典的 Key 就是字段名,字典的值就是要查询的值。如果字典有多个Key,则这些字段需同时满足。
1)查询所有“age”字段不小于25的记录,
则需要使用大于等于操作符“$gte”。查询语句如下: db.getCollection(‘example_data_1’).find({‘age’: {’$gte’: 25}}) 范围操作符及其意义 其中,用于限定字段的字典的Key为各个字段名。其值只有两个——0或1。 ● 如果值为0,则表示在全部字段中剔除值为0的这些字段并返回。 ● 如果值为1,则表示只返回值为1的这些字段。 例如,查询数据集example_data_1,但不返回“address”和“age”字段。查询语句如下: db.getCollection(‘example_data_1’).find({}, {‘address’: 0, ‘age’: 0}) 2)返回查询的条数(一共多少条符合要求的) count(): db.getCollection(‘learning’).find({‘age’: {’$gt’: 21}}).count()3)limit(4)限制只返回4条数据。
具体命令如下: db.getCollection(‘example_data_1’).find().limit(4)4)对查询结果进行排序——“sort()”命令。
字段的值为-1表示倒序,为1表示正序。 sort({‘字段名’:-1或1}) 对所有“age”大于21的数据,按“age”进行倒序排列。查询语 句如下: .find({‘age’: {’$gt’:21}}).sort({‘age’: -1})修改操作也就是更新(Update)操作,对应的 MongoDB 命令
为“updateOne()”和“updateMany()”。 去重操作用到的命令为“distinct()”。格式如下: db.getCollection(‘example_data_1’).distinct(’字段名’, 查询语句的第一个字典)对“age”大于等于24的记录的“age”字段去重
.distinct(‘age’,{‘age’:{’$gte’:24}})MongoDB 可以用来保存大量数据,且字段和格式均可以随意改变
SQL与MongoDB术语对比: MongoDB[1] 是一个基于分布式文件存储的数据库。由C 语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。转载地址:http://ltten.baihongyu.com/