MongDB 服务器搭建
mkdir mongdb_simple cd mongdb_simple mkdir data mkdir log mkdir conf cp ../mong-26/mongod ./bin cd ./conf vim mongod.conf port=12345 dbpath=data logpath=log/mongo.log fork=true #linux 后台进程
启动数据库 ./bin/mongod -f conf/mongod.conf
//连接数据
mongo.exe 127.0.0.1:12345/test
show dbs
show collections
show tables
//循环插入
for(i=0;i<100;i++) db.users.insert({_id:i})
//常用函数
db.table.findOne()
db.table.find()
db.table.find({age:100})
db.users.find().skip(3).limit(2).sort({x:1})
更新操作
db.users.update({age:100},{$set:{age:10000}})
Update自动增加
db.users.update({age:20},{age:999}, true)
同时更新多条数据
db.users.update({c:1},{$set:{c:2}}, false, true)
删除数据库
db.dropDatabase()
删除表
db.table.drop()
显示当前数据库名
db
切换用户
use admin
获取索引
db.table.getIndexes()
创建索引
db.table.ensureIndex({age:1}) //1代表正向排序,-1代表逆向排序
索引的种类与使用
id索引
单键索引: 单个值
多键索引: 多个值,如数组,db.table.ensureIndex({x:1}); db.table.insert({x:[1,2,3]})
复合索引:db.table.ensureIndex({x:1,y:1})
过期索引: db.table.ensureIndex({x:1},{expireAfterSeconds:10})是在一段时间后会过期的索引, 在索引过期后,相应的数据会被删除,适合存储一些在一段时间后会失效的如用户的登录信息、存储的日志
存储在过期索引字段的值必须是指定的时间类型: 必须是ISODate或者ISO数组,不能使用时间戳,否则不能被自动删除
如果指定了ISODate数组,则按照最小的时间进行删除
过期索引不能是复合索引
删除时间是不精确的:删除过和是由后台程序每60秒运行一次,而且删除也需要一些时间,所以存在误差
全文索引:db.table.ensureIndex({key:'text', key2: 'text'}) 所有字段 db.table.ensureIndex({'$**':'text'})
地理位置索引:
索引的匹配规则
如何建立合适的索引
索引建立的情况评估
>>help
Python Bottle Framework
Python Reddit