Mongo命令行中执行CRUD

时间:2022-03-04 15:13:23

在命令行中使用mongo自带的shell命令来执行CRUD操作

Mongo命令行中执行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})   根据查询条件返回数据