增删改查
- 创建数据库,连接
use DATABASE_NAME
mongod --dbpath=c:\data\db --port=27018
复制代码
--port用于重定端口,如果用默认的,就不需要。
- 插入
db.user.insert({name:'loayang',age:101})
创建成功返回 WriteResult({ "nInserted" : 1 })
只创建一条
db.user.insertOne({name:'loayang',age:101})
复制代码
- 查看
插入完,想查看集合
show collections
user //插入的时候已创建表user复制代码
- 查找
db.users.find() //不写参数,返回所有
db.users.find().pretty() //漂亮一点复制代码
还可以以下方法:
- 更改
db.users.update()复制代码
nMatched:有多少符合条件
nUpserted:新插入多少
nModified:改了多少
- 删除
db.users.remove({})复制代码
find方法查找数据
示例:
db.users.find({}) //第一个参数是查找条件复制代码
- age后面的{},表示写条件,年龄比12岁大的 $gt , $gte大于等于 $lte小于等于
3、某字段是否存在,$exists:true 存在 false不存在
4、查询数组中的值
(1)一维数组
(2)二维数组查找,需要用“.”,指定查找条件:
类型一:
类型二:
类型三指定顺序:
搜索bobbies的第一属性是hinking
find()方法也可以匹配正则,但不推荐
爱好有2个
db.users.find({"hobbies":{$size:2}})
5、find的第二个参数,用于条件
找到包含有hobbies的
如果需要不包含hobbies的,则如下,谁不显示,就让谁为0,
db.users.find({},{hobbies:0})复制代码
有多少用户:
更新数据update()
注意要写操作符,$set,如果不写,就是整个替换。
内容清空,设置null
multi:true更新所有的名字为laoyang 的文档:
返回更新后的文档 加参数{returnNewDocument:true},
新建更新
$age:要加$,代表是上一步中选出来的。$avg:平均年龄
$match,条件匹配,
索引
创建索引
db.users.creatIndex({name:1},{unique:1}) //unique:唯一复制代码
删除索引
db.users.dropIndex({...})复制代码
获取索引
db.users.getIndex()复制代码