MongoDB
MongoDB 是一个对象数据库,它没有表、行等概念,也没有固定的模式和结构,所有
的数据以文档的形式存储。所谓文档就是一个关联数组式的对象,它的内部由属性组成,一
个属性对应的值可能是一个数、字符串、日期、数组,甚至是一个嵌套的文档。下面是一个
MongoDB 文档的示例:
{ "_id" : ObjectId( "4f7fe8432b4a1077a7c551e8" ),
"uid" : 2004,
"username" : "byvoid",
"net9" : { "nickname" : "BYVoid",
"surname" : "Kuo",
"givenname" : "Carbo",
"fullname" : "Carbo Kuo",
"emails" : [ "byvoid@byvoid.com", "byvoid.kcp@gmail.com" ],
"website" : "http://www.byvoid.com",
"address" : "Zijing 2#, Tsinghua University" }
}
上面文档中 uid 是一个整数属性,username 是字符串属性,_id 是文档对象的标识
符,格式为特定的 ObjectId。net9 是一个嵌套的文档,其内部结构与一般文档无异。从
格式来看文档好像 JSON,没错,MongoDB 的数据格式就是 JSON,因此与 JavaScript 的
亲和性很强。在 Mongodb 中对数据的操作都是以文档为单位的,当然我们也可以修改文档
的部分属性。对于查询操作,我们只需要指定文档的任何一个属性,就可在数据库中将满足
条件的所有文档筛选出来。为了加快查询,MongoDB 也对文档实现了索引,这一点和 SQL 数
据库一样。