开启MongoDB服务
use book 创建/进入
db 获取当前使用的数据库
show dbs 获取所有的数据库
show tables 获取所有的集合【表】
db.createCollection("集合名") 创建集合
db.createCollection("product1")
插入文档(一行数据)
db.集合.insert() 插入文档
db.集合.insertone() 插入一个文档
db.集合.insertMany() 插入一个文档
db.product1.insertMany([{"name":"dd"},{"name":"xx"}])
db.集合.fend() 查询文档
db.集合.save 对于_id已存在的文档,save方法会用新的文档覆盖旧的文档,对于_id 不存在的文档,save方法会插入文档
db.product1.remove(条件)
如:db.product1.remove({"name":"iPhoneX"})
删除单条数据或多条
db.product1.remove(条件,参数)
注:不给参数或参数为0,删除多条,其余情况都删除一条(参数为true删除一条,为false删除多条)
db.product1.remove({"name":"iPhoneX"},1)
删除数据
db.product1.deleteOne({"name":"iPhoneX"}) 删除一条
db.product1.deleteMany({"name":"iPhoneX"}) 删除多条
删除所有数据
db.product1.remove({})
修改数据
db.集合名.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
- query : update的查询条件,类似sql update查询内where后面的。
- update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
- upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
- multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
- writeConcern :可选,抛出异常的级别。
修改 找到的第一条数据
db.product1.update({"name":"iPhoneX"},{$set:{"name":"iPhoneXXX"}})
upsert 为true 如果找到文档正常修改,如果找不到文档,则修改条件和查询条件创建新的文档插入
db.product1.update({"name":"iPhoneX"},{$set:{"author":"rose"}},{upsert:true})
修改多个
db.product1.update({"name":"iPhoneX"},{$set:{"name":"iPhoneXXX"}},{multi:true})
修改文档的参数 用$inc 只能加和减 进行计算的字段为num类型
db.product1.update({"name":"iPhoneX"},{$inc:{"price":-10}})
修改字段名 $rename
修改一条数据字段
db.product1.update({$rename:{"view":"num"}})
修改多条数据字段
db.product1.update({$rename:{"view":"num"}},false,true)
update 的隐性参数 upsert 有则改,无则插 multi 是否执行多条
获取json
var book1=db.product1.findOne({"name":"iPhoneX"})
获取name 如 :book.name 或 book["name"]
注:获取文档中的id时需要加下滑线 如:book1["_id"]