MongoDB基本用法

182 阅读1分钟

增删改查

  • 创建数据库,连接

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.findOne()//然而windows不能用~

db.users.find()   //不写参数,返回所有
db.users.find().pretty() //漂亮一点


还可以以下方法:



  • 更改
一条:db.users.updateOne()//然而windows不能用~

db.users.update()


nMatched:有多少符合条件

nUpserted:新插入多少

nModified:改了多少

  • 删除
一条:db.users.deleteOne({})//然而windows不能用~
db.users.remove({})


find方法查找数据

示例:


db.users.find({}) //第一个参数是查找条件


  1. age后面的{},表示写条件,年龄比12岁大的  $gt , $gte大于等于 $lte小于等于


2、age后面的{},也可以写多个条件


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()