Mongdb
使用:
MongoDB 的 _id 是系统自动生成的12字节唯一标识
排序:
升序:
db.getCollection('exam').find({......}).sort({"_id":1})
降序:
db.getCollection('exam').find({......}).sort({"_id":-1})
查询:
显示所有数据库:
show dbs
显示所有的集合:
Show collections
查看数据库服务器的状态:
db.serverStatus()
查询指定数据库统计信息:
db.stats()
查看数据库中所有集合的名字:
db.getCollectionNames()
查询一条记录:(系统会随机查询一条满足条件的记录)
db.storeCollection.findOne({'version':'3.5'})
查询多条记录:(查询所有满足条件的记录)
find({......});
查询全部索引:
db.system.indexes.find()
查询索引:
db.page.getIndexes()
统计记录数:
db.page.count()
查询并统计记录数:
db.page.find().count()
查看集合可用空间:
db.page.storageSize()
查看collection中的数据大小
db.page.dataSize()
为collection分配的空间大小,包括未使用的空间
db.page.storageSize()
查看collection中索引数据大小
db.page.totalIndexSize()
查看collection中索引+data所占空间
db.page.totalSize()
查看当前锁状态
db.currentOp()
删除:
删除数据库:
db.dropDatabase()
删除集合:
db.mycoll.drop()
删除记录:
db.storeCollection.remove({'version':'3.5'})
删除索引:
db.mycoll.dropIndex(name)
db.mycoll.dropIndexes()
创建:
集合:
db.createCollection(name, { size : ..., capped : ..., max : ... } )
索引:(数字1表示升序,-1表示降序)
db.page.ensureIndex({'title':1, 'url':-1})
索引重建:
db.page.reIndex()
修改:
修改记录:
db.storeCollection.save({'version':'3.5', 'segment':'e3ol6'})
更新记录,使用save会将原来的记录值进行覆盖实现记录更新
备份:
全部数据库
mkdir testbak
cd testbak
mongodump
备份指定数据库
mongodump -d pagedb
备份一个数据库中的某个集合
mongodump -d pagedb -c page
恢复全部数据库
cd testbak
mongorestore --drop
说明:将备份的所有数据库恢复到数据库,--drop指定恢复数据之前删除原来数据库数据,否则会造成回复后的数据中数据重复。
恢复某个数据库的数据
cd testbak
mongorestore -d pagedb --drop
说明:将备份的pagedb的数据恢复到数据库。
恢复某个数据库的某个集合的数据
cd testbak
mongorestore -d pagedb -c page --drop
说明:将备份的pagedb的的page集合的数据恢复到数据库。
向MongoDB导入数据
mongoimport -d pagedb -c page --type csv --headerline --drop < csvORtsvFile.csv
说明:将文件csvORtsvFile.csv的数据导入到pagedb数据库的page集合中,使用cvs或tsv文件的列名作为集合的列名。需要注意的是,使用 --headerline选项时,只支持csv和tsv文件。
--type支持的类型有三个:csv、tsv、json
从向MongoDB导出数据
mongoexport -d pagedb -c page -q {} -f _id,title,url,spiderName,pubDate --csv > pages.csv
说明:将pagedb数据库中page集合的数据导出到pages.csv文件,其中各选项含义:
-f 指定cvs列名为_id,title,url,spiderName,pubDate
-q 指定查询条件
java 操作mongodb:
MongoClient mongoClient = new MongoClient("192.168.0.205", 27017);
DBCollection collection = mongoClient.getDB("sdzn").getCollection("exam");
System.out.println("最终数量:" + dataList.size());
//插入数据库
collection.insert(dataList);
Js操作mongodb的语法是一样的。
var x = new Mongo('192.168.0.197:27017')
var ydb = x.getDB('pagedb');
拿到数据库......