如下:键值对的形式 也可以方便的表示一对多 和 多对多的关系。
MongoDB的缺点:数据可能会存在大量冗余。 比如上面的微博,如果有10万人转发了条这样的微博,那么这条微博的原作者、原url地址以及原始@的人的信息会被重复在每个人的字典中(重复10万次)。
在关系数据库中,可以只存一次,然后别的表存一个此信息的id索引。
安装
ubuntu: sudo apt install -y mongodb
没有专门创建数据库的操作,直接use 不存在的数据库即会先创建再use。 准确说现在还不存在 use的数据库,只有往里面插入数据时,此数据库才回真正被创建。
MongoDB中不存在 表 的概念,我们把数据存放在 称做 集合 的东西中。
注意:MongoDB中ISOData类型 对应于 python中的datatime类型
插入数据 -- 往test1000的集合中插入两条数据
.insert() 插入两条_id相同的数据 会报错。.save() 则会更新。
注意:下面那样的“更新”其实是替换整条数据字典的操作,会丢失别的属性的信息。
$set --- 意思是指定一个键 和 值
MongoDB高级查询
高级用法
联系
创建索引
练习
数据字段如下
练习2
python 操纵 MongoDB
可将cursor 游标对象 强制转换成 list
练习