前置知识
如果你已经大致了解了MongoDB的基本概念,请跳到第二节。
MongoDB文档数据库的存储结构分为四个层次,从大到小依次是:
- 数据库database
- 集合collection
- 文档document
- 键值对 key-value pair
数据库由集合组成,集合没有固定的结构,一个集合是一些文档构成的对象。考虑到集合可以插入任意格式和类型的数据,一个集合没有固定的标准,那么就有一个问题:我们该如何得知一个文档该插入哪个集合呢?所以,通常情况下插入集合的数据都会有一定的关联性,以某个主题或者在语义区分。与关系数据库的区别也就仅仅在于集合内的结构了。所以可以说非关系型的数据库(如MongoDB) 玩法更多,使用更灵活。
然后谈谈文档。文档是MongoDB的核心概念,是数据的基本单元,与关系数据库中的行十分类似。文档是一组有序的键值对集合。在同一个集合当中的文档不要求键保持一致,例如,一个集合可能包含用户信息,但每个用户文旦更可以包含不同的信息,如用户名、年龄、电子邮件地址等,而这些字段并不是所有文档都必须具备的。虽然集合不强制要求文档结构,但是数据建模的不同可能会影响程序性能和数据库容量。文档之间的关系是数据建模需要考虑的重要因素。文档与文档之间的关系包括嵌入和引用两种。
文档的数据结构与JSON相同,所有存储在集合中的数据都是BSON格式。(*BSON: Binary JSON)
键值对,键key起到唯一索引的作用,一个键对应一个值,一个值不是指数值而是数据。数据可以是列表list包含着的一组key-value,也可以是单独的string, int, double, char, bool,甚至是png,jpg等等
Create operation
-
插入多个文档
import pymongo client = pymongo.MongoClient(host='localhost', port=27017) db = client.market coll = db.customer docs = [ { "name": "zhao", "age": 20, "gender": "male", "hasCar": False}, { "name": "wang", "age": 33, "gender": "male", "hasCar": True}, { "name": "lu", "age": 23, "gender":"female", "hasCar": True} ] result = coll.insert_many(docs) cursor = coll.find(

最低0.47元/天 解锁文章
1371

被折叠的 条评论
为什么被折叠?



