mongodb基础语法教程
2019-07-22 本文已影响0人
潇豪
基本概念
数据库 (database)
集合 (collection)
文档 (document)
集合和数据库都不需要手动创建,不存在会自动创建
基本指令
show dbs
show databases
显示当前数据库
use test
进入指定的数据库中
db
表示当前所在的数据库
show collections
显示所有的集合
数据库的CURD
插入db.collection.insert
db.person.insert({name:"xiaohao",age:23,gender:"male"});
插入数据,person为创建的集合名称
db.person.find()
查询插入的数据
db.person.insert([
{name:"xiaohao1",age:23,gender:"male"},
{name:"xiaohao2",age:24,gender:"male"},
{name:"xiaohao3",age:25,gender:"male"},
])
插入多个数据,多个数据传数组
如果没有给文档指定_id,系统会自动生成_id,确保唯一性,可以自己指定,指定后不自动添加,但是自己添加不确保唯一性,这里要注意一下。
db.person.insertOne()
插入一个
db.person.insertMany()
插入多个
以上用insert()功能一样,只为语义更清晰,3.2版本后出现
查询db.collection.find
db.person.find()
查询所有
db.person.find({_id:"xxxx"})
db.person.find({age:23})
条件查询,find返回数组
db.person.find({_id:"xxxx"})[0]
[0]为数组索引,返回数组第一个
db.person.find({age:23,name:"xiaohao"})
多条件查询,同时满足两个条件
db.person.findOne({{age:23}})
db.person.findOne({age:23}).name
findOne返回对象
db.person.find({}).count() or db.person.find({}).length();
查询条数使用count()比较多
修改文档db.collection.update
db.person.update({name:"xiaohao"},{age:27})
先查询,再替换。但是这样会只存留age:27,推荐使用$符号。默认只改一个
db.person.update({name:"xiaohao"},{$set:{name:"shawn",age:25}})
推荐使用以上操作
db.person.update({name:"xiaohao"},{$unset:{name:"shawn"}})
db.person.updateOne({name:"xiaohao"},{$unset:{name:"shawn"}})
删除指定属性,这里删除name属性,里面不写内容也可以
db.person.updateMany({name:"xiaohao"},{$set:{name:"shawn",age:25}})
db.person.updateMany({name:"xiaohao"},{$set:{name:"shawn",age:25}},{multi:true})
修改多个。 综合上面可以发现update可以实现updateOne和updateMany
删除
db.collection.remove()
db.collection.drop()
db.collection.deleteOne()
db.collection.deleteMany()
db.person.remove({id:"xxx",true})
默认删除符合条件的,选择true,删除一个
db.person.remove({})
为空清除所有,先遍历再删除性能差
db.person.drop();
如有需求使用删除,慎重使用
db.dropDatabase()