增删改查
- 创建数据库,连接
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()