mongodb
准备工作
启动服务器
mongod --dbpath 文件路径
启动数据库
mongo
一、数据库
显示当前目录下的数据库
show dbs
显示当前正在操作的数据库。defaule:test
db
创建数据库或切换
use student
删除数据库
db.dropDatabase(); database:数据库
mongodb数据导入:
mongoimport -d 数据库 -c 集合 --jsonArray 数据路径
mongodb数据导出:
mongoexport -d 数据库 -c 集合 -o 导出文件路径
二、集合
createCollection 增
db.createCollection() collection:集合
show 查
show collections
drop 删
db.集合.drop()
三、数据CRUD 【create】【read】【update】【delte】
1、insert 新增
db.集合.insert( { name:‘lisi’,sex:‘man’ } )
db.集合.insert( [ {name:‘zhangsan’,sex;woman},{name:‘lisi’,sex:man} ] )
一条:db.集合.insertOne({json})
多条:db.集合.insertMany( [ { },{ } ] )
2、find 查询
db.集合.find()
db.集合.find().pretty() 美化代码,不起其他作用
条件查询
db.集合.find() === db.集合.find( {name:‘lisi’} ) 条件:name为lisi
且
db.集合.find( {name:‘li’,sex:‘man’}) 条件:name为lisi并且sex为man
KaTeX parse error: Expected '}', got 'EOF' at end of input: …db.集合.find( {**or:[ {name:‘lisi’,sex:‘man’},{name:‘zhangsan’} ]})
条件满足name:‘lisi’,sex:'man’或者name:‘zhangsan’
KaTeX parse error: Expected '}', got 'EOF' at end of input: …nd( { name: {**ne:‘lisi’} } ) 条件:name不为lisi
$in 查询指定数据
db.集合.find( {age: [$in[20,30,40] ] } ) 条件查询【】中的数据(20,30,40),注意不是(20—40)
大于(gt :great than) 大于等于(gte :great than equa)
db.集合.find( {age: {$gt:20} } ) 条件:age>20
小于(lt :less than) 小于等于(lte :less than equa)
db.集合.find( {age: {$lte:10} })
小计:$in为[ ],关系条件为{ }
sort 排序
db.集合.find().sort( {age:-1} ).pretty() 1:升序 -1:降序
db.集合.find().sort( {age:-1,name:-1} ).pretty() 先排序age,age相同后排序name
skip 分页
page 1 2 3
skip 0 3 6
公式:(page - 1)*3
db.集合.find().skip(0).limit(3).pretty() 从0开始查询查3条
3、update 更新 (有则改,无则增)
一条:db.集合.update/updataOne( {查询条件},{$set:{修改内容} )
db.集合.update({name:‘lisi’},{ $set:{name:‘zhangsan’}})
多条:db.集合.updateMany( {查询条件},{$set:{修改内容} )
$currentDate 给字段添加当前时间
db.集合.update( {name:‘lisi’},{$currentDate:{lastModify:true} } ) key:lastModify
修改Number字符的值(删除name:‘lisi‘的数据)
$inc 加减
db.集合.update( {name:‘lisi’},{$inc:{age:1} } ) 1:加1 -2:减2
$mul 乘法
db.集合.update( {name:‘lisi’} ,{$mul:{age:2}}) 2:乘2
m i n ∗ ∗ ∗ ∗ min** ** min∗∗∗∗max
数值小于或大于,方可更新
$rename 修改字段名称
db.集合.update( {name:‘lisi’},{$rename:{name:‘Newname’} } )
$unset 删除字段
db.集合.update( {name:‘lisi’},{$unset:{name:’’ } } )
数组
$push 新增重复的数组
db.集合.update( {name:‘lisi’},{$push:{title:‘阿里巴巴’}} )
注意:没有字段,新增类型为数组数据; 有字段,要求类型为数组,不然报错
$addToSet 新增一个不重复的数组元素,用法同push
$pop 删除数组元素
db.集合.update( {name:‘lisi’},{$pop:{title:1}} )
从title数组中删除。 1:从尾部删除 -1:从头部删除 0:不删除
$pull 删除指点值
db.集合.update( {name:‘lisi’},{$pull:{car:‘BMN’}} )
把car数组中的所有内容为BMW的元素删除
4、删除
remove
db.集合.remove( {name:‘lisi’} ) 删除name为lisi的数据
**deleteOne ** 只删除第一个
db.集合.deleteOne( {条件} )
**deleteMany ** 删除全部
db.集合.deleteMany( {条件} )