1:db.collection.remove()与db.collection.drop()的比较
插入100万条测试数据
for(var i=0;i<1000000;i++){
db.tester.insert({'foo':'bar'+i,"baz:":i,"z":10-i})
}
进行删除操作
方法1
var timeRemoves = function(){
var start=(new Date()).getTime();
db.tester.remove();
db.tester.findOne();
var end = (new Date()).getTime();
var timeDiff = end-start;
print("用时:"+timeDiff+"毫秒");
}
timeRemoves()
test>timeRemoves()
用时:5398毫秒
方法2
test>db.tester.drop()
true
瞬间完成
2:修改器的使用
(1)$inc
用来增加已有键的值,或者该键不存在就创建一个。
db.user.update(
{'name':'zhangsan'},
{'$inc':{'age':1}},
{
multi:true
}
)
(2)$set
$set用来指定一个字段的值,如果这个字段不存在,则创建它。
db.user.update(
{'name':'zhangsan'},
{'$set':{'address':'青岛'}},
{multi:true}
)
db.blog.update(
{'_id':'11'},
{'$set':{''}}
)
可以使用$set修改内嵌文档
例如:
test>db.user.findOne({'name':'wangwu'})
{
"_id" : ObjectId("54bbb0506d5990c21f435bcd"),
"address" : {
"city" : "qingdao"
},
"age" : 26,
"name" : "wangwu",
"sex" : true
}
test>db.user.update(
... {'name':'wangwu'},
... {'$set':{'address.city':'青岛'}}
... )
test>db.user.findOne({'name':'wangwu'})
{
"_id" : ObjectId("54bbb0506d5990c21f435bcd"),
"address" : {
"city" : "青岛"
},
"age" : 26,
"name" : "wangwu",
"sex" : true
}
(3)$unset
用来移除某个键值
db.user.update(
{'name':'zhangsan'},
{'$unset':{'address':1}},
{multi:true}
)