mongodb 基本操作
2015-07-04 11:43
591 查看
1. 远程连接
2. 创建集合
4. 重命名集合
6. 验证是否删除了
7. 导出
8. 导入
mongo 192.168.23.4/TestDB -u hd -p Dbpassw0rd@Hd
2. 创建集合
db.createCollection("test_home");3. 删除集合
db.kk.drop(); db.getCollection("20150306.dat").drop();如果有特殊字符串,第一种是删除不了的,还是用第二种保险
4. 重命名集合
db.test.renameCollection("test1");5. 删除test_home中的数据
db.test_home.remove({});
6. 验证是否删除了
db.test_home.find();
7. 导出
mongoexport -h 192.168.23.4 -u hd -p Dbpassw0rd@Hd -d TestDB -c stores -o stores.txt
8. 导入
mongoimport -h 192.168.23.4 -u hd -p Dbpassw0rd@Hd -d TestDB -c stores stores.txt9. 切换用户 切换到local use local; 10. 修改字段名
db.home.update({}, {$rename : {"type" : "row_location"}}, false, true);11. 删除字段 先获取可删除字段的个数,再循环删除
var len = db.stores.find({"_class":{$ne:null}}).count(); for (var i = 0; i <= len; i++) { db.stores.update({"_class":{$ne:null}},{"$unset":{"_class":1}}); };12. 循环插入
var o= db.users.find(); for(var i = 0; i < o.count(); i++){ print(o[i].user_name); }13. 插入值
db.test1.insert( { _id: "homepageVersion111", version_type: "homepageVersion111",version_id:o[0].name} );14. 测试删除语句消耗时间
var timeRemoves = function(){ var start = (new Date()).getTime(); db.tester.remove(); db.findOne(); var timeDiff = (new Date()).getTime() - start; print("Remvoe took:" + timeDiff + "ms"); } timeRemoves();结论:如果集合里面数据非常多时,直接用drop删除要比remove快很多。 15. 改变文档结构
var joe = db.users.findOne({"name":"joe"}); joe.relationships = {"friends": joe.friends,"enemies":joe.enemies}; joe.username = joe.name; delete joe.friends delete joe.enemies; db.users.update({"name","joe"},joe);常见错误: 查询条件匹配到了多个文档,这时候所有文档都不会更新 16. 使用修改器 "$set" 用来指定一个字段的值。如果这个字段不存在,则创建它
db.users.update({"_id":ObjectId("4b3425rtw462wqt24")},{"$set":{"favorite":"War"}});"$unset" 将这个键完全删掉
db.users.update({"_id":ObjectId("4b3425rtw462wqt24")},{"$unset":{"favorite":1}});甚至可以修改内嵌文档 "$inc"增加和减少,只能用于整型、浮点型等,用法与"$set"类似 下面几个为数组操作 "$push" 如果数组存在,会向数组末尾加入元素,要是没有就创建新的数组
db.blog.posts.update({"title":"A blog post"}, { "$push":{"comments":[ { "name":"joe", "content":"nice post" } ]}});这是比较简单的,也可以使用"$each"子操作符,一次为数组添加多个值
db.stock.ticker.update({"_id":"GOOG"}, { "$push":{"hourly":{"$each":[154,587,698,154]} }});"$addToSet" 可以避免往数组插入重复值
db.stock.ticker.update({"_id":"GOOG"}, {"$addToSet":{"hourly":578}});"$pull" 删除数组中的元素 删除todo数组中的所有laundry值 {"$pop":{"key":1}} {"$pop":{"key":-1}} 从数组末尾或者头删除一个元素
db.lists.update({},{"$pull":{"todo":"laundry"}});17. upsert操作 是一种特殊的更新 要是没有找到符合条件的文档,就会以这个条件和更新文档为基础,新建一个新的文档。找到了就正常更新。
db.analytics.update({"url":"/blog"},{"$inc":{"pageviews":1}},true);第三个参数表示是个upsert 18. 更新多个文档 一般情况update是只会更新一个文档的,要想更新多个文档,可以将update的第4个参数设置为true
db.users.update({"biretday":"10/13/1978"},{"$set":{"gift":"Happy Birthday!"}},false,true);如果我们想知道到底更新了多少个文档怎么办? 更新之后,运行
db.runCommand({getLastError:1}); { "err":null, "updatedExisting": true, "n":5, "ok":true }键 "n" 就是被更新的文档数量
相关文章推荐
- MongoDB使用指南--基本操作
- mongodb--基本操作
- MongoDB游标的基本操作
- MongoDB 基本操作尝试
- mongoDB基础知识2----基本操作(CRUD),索引(常见、全文、地理位置)
- linux部署mongodb及基本操作
- MongoDB 基本操作(增改删)
- Python中的MongoDB基本操作:连接、查询实例
- mongodb的基本操作命令
- MongoDB数据库的基本操作命令
- mongodb安装和命令行基本操作
- MongoDB基本操作之(mongodb的简单封装)
- mongoDB的基本操作以及数据的导入导出,备份和恢复
- mongodb的基本操作与插入文档(document)
- Nosql :MongoDB一些基本操作<二>
- 用PHP实现MONGODB的基本操作
- Android 连接MongoDB与基本操作
- 用php实现mongoDB的基本操作(转)
- MongoDB的安装与基本操作
- php对mongodb的基本操作(新手)