linux必學的60個命令,mongodb 命令補充

 2023-12-06 阅读 21 评论 0

摘要:根據條件查找數據 ----------------------- 通過條件查詢: db.foo.find( { x : 77 } , { name : 1 , x : 1 } ) ----------------------------- db.foo.find(...).count() db.foo.find(...).limit(n) 根據條件查找數據并返回指定記錄數 db.foo.find(...).skip(n) db.f
根據條件查找數據 
----------------------- 
通過條件查詢: db.foo.find( { x : 77 } , { name : 1 , x : 1 } ) 
----------------------------- db.foo.find(...).count() db.foo.find(...).limit(n) 根據條件查找數據并返回指定記錄數 db.foo.find(...).skip(n) db.foo.find(...).sort(...) 查找排序 db.foo.findOne([query]) 根據條件查詢只查詢一條數據 db.foo.getDB() get DB object associated with collection  返回表所屬的庫 db.foo.getIndexes() 顯示表的所有索引 db.foo.group( { key : ..., initial: ..., reduce : ...[, cond: ...] } ) 根據條件分組 db.foo.mapReduce( mapFunction , reduceFunction , <optional params> ) db.foo.remove(query) 根據條件刪除數據 db.foo.renameCollection( newName ) renames the collection  重命名表 db.foo.save(obj) 保存數據 db.foo.stats()  查看表的狀態 db.foo.storageSize() - includes free space allocated to this collection 查詢分配到表空間大小 db.foo.totalIndexSize() - size in bytes of all the indexes 查詢所有索引的大小 db.foo.totalSize() - storage allocated for all data and indexes 查詢表的總大小 db.foo.update(query, object[, upsert_bool]) 根據條件更新數據 db.foo.validate() - SLOW 驗證表的詳細信息 db.foo.getShardVersion() - only for use with sharding 
Mongodb的備份工具mongodump 如果想備份數據庫test 如: 
CODE: [falcon@www.fwphp.cn  ~/mongodb/bin]$ ./mongodump --help 
options: 
--help                   produce help message 
-h [ --host ] arg        mongo host to connect to 
-d [ --db ] arg          database to use 
-c [ --collection ] arg  collection to use (some commands) 
-u [ --username ] arg    username 
-p [ --password ] arg    password 
--dbpath arg             directly access mongod data files in this path, instead of connecting to a mongod instance 
-v [ --verbose ]         be more verbose (include multiple times for more verbosity e.g. -vvvvv) 
-o [ --out ] arg (=dump) output directory 
[falcon@www.fwphp.cn  ~/mongodb/bin]$ ./mongodump -d test -o test/ 
connected to: 127.0.0.1 
DATABASE: test         to         test/test test.user to test/test/user.bson 100000 objects test.system.indexes to test/test/system.indexes.bson 1 objects 
[falcon@www.fwphp.cn  ~/mongodb/bin]$ ls 
2     mongo   mongodump    mongofiles   mongorestore  mongosniff 
dump  mongod  mongoexport  mongoimport  mongos     test 
MongoDB的數據恢復工具mongorestore 查看test庫中的表 
CODE: > show collections 
system.indexes 
User 
刪除user表 
CODE: > db.user.drop(); 
True > show collections 
System.indexes 
現在利用mongorestore表恢復剛才利用mongodump備份的數據 
CODE: [falcon@www.fwphp.cn  ~/mongodb/bin]$ ./mongorestore --help 
usage: ./mongorestore [options] [directory or filename to restore from] 
options: 
--help                  produce help message 
-h [ --host ] arg       mongo host to connect to 
-d [ --db ] arg         database to use 
-c [ --collection ] arg collection to use (some commands) 
-u [ --username ] arg   username 
-p [ --password ] arg   password 
--dbpath arg            directly access mongod data files in this path, instead of connecting to a mongod instance 
-v [ --verbose ]        be more verbose (include multiple times for more verbosity e.g. -vvvvv) [falcon@www.fwphp.cn  ~/mongodb/bin]$ ./mongorestore -d test -c user test/test/user.bson 
connected to: 127.0.0.1 
test/test/user.bson going into namespace [test.user] 100000 objects 
User表中的10w條記錄已經恢復 
CODE: > show collections 
system.indexes 
user 
> db.user.find(); 
{ "_id" : ObjectId("4b9c8db08ead0e3347000000"), "uid" : 1, "username" : "Falcon.C-1" } 
{ "_id" : ObjectId("4b9c8db08ead0e3347010000"), "uid" : 2, "username" : "Falcon.C-2" } 
{ "_id" : ObjectId("4b9c8db08ead0e3347020000"), "uid" : 3, "username" : "Falcon.C-3" } 
{ "_id" : ObjectId("4b9c8db08ead0e3347030000"), "uid" : 4, "username" : "Falcon.C-4" } 
{ "_id" : ObjectId("4b9c8db08ead0e3347040000"), "uid" : 5, "username" : "Falcon.C-5" } 
................. 
has more 1. 超級用戶相關: #增加或修改用戶密碼 db.addUser('admin','pwd') #查看用戶列表 db.system.users.find() #用戶認證 db.auth('admin','pwd') #刪除用戶 db.removeUser('mongodb') #查看所有用戶 show users #查看所有數據庫 show dbs #查看所有的collection show collections #查看各collection的狀態 db.printCollectionStats() #查看主從復制狀態 db.printReplicationInfo() #修復數據庫 db.repairDatabase() #設置記錄profiling,0=off 1=slow 2=all db.setProfilingLevel(1) #查看profiling show profile #拷貝數據庫 db.copyDatabase('mail_addr','mail_addr_tmp') #刪除collection db.mail_addr.drop() #刪除當前的數據庫 db.dropDatabase() 2. 客戶端連接 /usr/local/mongodb/bin/mongo user_addr -u user -p 'pwd' 3. 增刪改 #存儲嵌套的對象 db.foo.save({'name':'ysz','address':{'city':'beijing','post':100096},'phone':[138,139]}) #存儲數組對象 db.user_addr.save({'Uid':'yushunzhi@sohu.com','Al':['test-1@sohu.com','test-2@sohu.com']}) #根據query條件修改,如果不存在則插入,允許修改多條記錄 db.foo.update({'yy':5},{'$set':{'xx':2}},upsert=true,multi=true) #刪除yy=5的記錄 db.foo.remove({'yy':5}) #刪除所有的記錄 db.foo.remove() 4. 索引 增加索引:1(ascending),-1(descending) db.things.ensureIndex({firstname: 1, lastname: 1}, {unique: true}); #索引子對象 db.user_addr.ensureIndex({'Al.Em': 1}) #查看索引信息 db.deliver_status.getIndexes() db.deliver_status.getIndexKeys() #根據索引名刪除索引 db.user_addr.dropIndex('Al.Em_1') 5. 查詢 查找所有 db.foo.find() #查找一條記錄 db.foo.findOne() #根據條件檢索10條記錄 db.foo.find({'msg':'Hello 1'}).limit(10) #sort排序 db.deliver_status.find({'From':'yushunzhi@sohu.com'}).sort({'Dt',-1}) db.deliver_status.find().sort({'Ct':-1}).limit(1) #count操作 db.user_addr.count() #distinct操作 db.foo.distinct('msg') #>操作 db.foo.find({"timestamp": {"$gte" : 2}}) #子對象的查找 db.foo.find({'address.city':'beijing'}) 6. 管理 查看collection數據的大小 db.deliver_status.dataSize() #查看colleciont狀態 db.deliver_status.stats() #查詢所有索引的大小 db.deliver_status.totalIndexSize() 

?

轉載于:https://www.cnblogs.com/liangliangzz/p/10241459.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/190762.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息