在命令行中使用mongo自带的shell命令来执行CRUD操作
首先链接到数据库
增
db.qiao.insert({"qq":1})
db.qiao.save({"qq":3})
db.qiao.save({"_id" : ObjectId("5721461f5b4e77bbbae66982"),"qq":100})
save和insert的区别
insert只能插入数据,但是它可以插入一个列表的数据
save如果数据库中有这条数据就执行修改操作,如果没有这条数据就执行插入操作
insert的效率比save要高
删
db.qiao.remove({"qq":3}) 根据条件删除数据
db.qiao.remove() 移除整个文档,但不删除文档的结构
db.qiao.drop() 删除掉整个数据库,这个的数据是非常快的(但是删除完后需要重新建立索引)
删除掉,某个键或者是某个字段
我想删除掉 book 这个key,以后都不要了
{
"_id" : ObjectId("5706032acd0a6194868cf53e"),
"book" : "干你妹三千",
"list" : {
"name" : "乔安生",
"age" : 22.0
}
}
db.ansheng.update({"_id":ObjectId("5706032acd0a6194868cf53e")},{"$unset":{"book":""}}) 就可以吧这个key干掉
删除数据是永久性的,不能撤销,也不能恢复。
改
db.cs.update({"_id" : ObjectId("571f46e0a7b78abfa1768ebf")},{z:20}) 最简单的修改,号前的是搜索参数,后的是修改参数
db.cs.update({"_id" : ObjectId("571f46e0a7b78abfa1768ebf")},{"$inc":{"z":1}})
$inc z加1 这个可以用来做统计方面的东西,或者过生日的时候执行这种命令让年龄加一
db.cs.update({"_id" : ObjectId("571f46e0a7b78abfa1768ebf")},{"$set":{"book":"C#大全"}})
$set 指定一个字段的值。如果这个字段不存在,则创建他。
$set 还可以直接修改内嵌文档中的数据
db.ansheng.update({"_id":ObjectId("5706032acd0a6194868cf53e")},{"$set":{"list.name":"乔安生","list.age":22}}) 这句代码中就是直接修改 ansheng这个文档中的 list 这个内嵌文档
$set 还可以改键的类型,比如我现在的 book 这个键里面就一个 "C#大全",我现在想多加一本书 "干你妹三千"
db.ansheng.update({"_id":ObjectId("5706032acd0a6194868cf53e")},{"$set":{"book":["C#大全","干你妹三千"]}}) 这句话就可以吧这个键的类型改成 数组类型的
查
db.cs.find() 在shell中一次返回10条数据
db.cs.findOne() 返回一条数据
db.cs.find({"z":20}) 根据查询条件返回数据