============== UPDATE ==================
批量更新
db.sp_demo.update({name:'chancy'},{$set:{name:'chancy1111'}},false,true)
数值累加
db.sp_demo.update({index:3},{$inc:{index:1}})
去除多余列
update({name:'nodejs'},{$unset:{add:'massage'}})
向集合中的数组添加数据
db.sp_demo.update({name:'array'},{$push:{list:'arr1'}});
向集合中批量添加数据
db.sp_demo.update({name:'array'},{$pushAll:{list:['arr1','arr2','arr3']}});
向集合中添加列
db.sp_demo.update({name:'chancy'},{$set:{addCol:'new col'}},true);
当集合中的数组不存在指定值的时候,则会插入该值
db.sp_demo.update({name:'array'},{$addToSet:{list:'arr1'}});
删除集合中的数组值
-1 : 删除第一个数值
1 : 删除最后一个数值
db.sp_demo.update({name:'array'},{$pop:{list:-1}})
删除集合中的指定数据
db.sp_demo.update({name:'array'},{$pull:{list:'arr3'}})
批量删除数组中的值
db.sp_demo.update({name:'array'},{$pullAll:{list:['aha1','aha2']}})
数组定位器 $
匹配数组中的子字段值
db.sp_demo.update({'list.lang':'java'},{
$set:{
'list.$.year': '1995'
}
})
============== FIND ==================
db.sp_demo.find({条件},{查询列});查询集合中的指定字段
_id:1 查询_id字段
name: 0 不查询name字段(不查询不写即可)
db.sp_demo.find({},{_id:1})
模糊查找 -- 查询集合中包含 ch 字符串的数据
db.mongo_demos.find({name:{$regex:/ch/i}},{_id:0})
============== 创建用户 ==================
//创建访问所有数据库的账号use admin
db.createUser(
{
user: "sipeng",
pwd: "sipeng",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
//创建单个数据库账号
use sp-blog
db.createUser(
{
user: "sipeng",
pwd: "sipeng",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
============== 连接mongodb ==================
命令行mongo --host <host address> --port <port> --username=<username> --password=<password> <databases>
//程序
mongodb://<username> : <password>@<host address>:<port>/<databases>