mongodb索引的存储机制和mysql不同,mysql的索引是存储在硬盘中,需要时会调用部分到内存中。而mongodb的索引则是直接存储在内存和临时文件中,并且和内存大小限制有很直接的关系,如
mongodb索引的存储机制和mysql不同,mysql的索引是存储在硬盘中,需要时会调用部分到内存中。而mongodb的索引则是直接存储在内存和临时文件中,并且和内存大小限制有很直接的关系,如果超过内存限制,则从硬盘加载索引。所以mongodb索引的使用,在大数据集合面前,会面临内存耗尽的风险。
mongdb与MySQL比较
mysql database table 二维表
mongdb database collection 类似json数据 _id 存储的数据是bson
vi /etc/mongd.conf
注释掉bindIp修改为当前机器的某一个ip地址
mongo --host 192.168.100.101 --port 27017
db.createCollection(“car”)
db.car.insert({"_id":10001,“status”:1,“desc”:“test”})
db.car.find()
MongoDB 的update 方法的三个参数是upsert,这个参数是个布尔类型,默认是false。当它为true的时候,update方法会首先查找与第一个参数匹配的记录,在用第二个参数更新之,如果找不到与第一个参数匹配的的记录,就插入一条(update+insert)
看下面这个例子:
db.foo.update({count:100},{"$inc":{count:10}},true);在找不到count=100这条记录的时候,自动插入一条count=100,然后再加10,最后得到一条 count=110的记录