mongoDB:非关系型数据库,JSON字符串
一、数据库操作
db // 查询当前数据库
show dbs // 查询所有的数据库
use music //创建/切换数据库
db.dropDataBase() //删除数据库
二、集合操作
db.createCollection('collectionName') 创建一个集合
show collections 查看所有集合
db.getCollectionNames() 得到当前db的所有集合
db.collectionName.drop() 删除collectionName集合
三、文档操作
1、插入数据
db.baoguo.insert([{name: 'm1', release: '2020-12-05'}])
db.baoguo.insert([{name: 'm2', release: '2020-12-05'}, {name: 'm3', release: '2020-12-06'}])
db.baoguo.save([{name: 'm4', release: '2020-12-07'}, {name: 'm5', release: '2020-12-08'}])
db.baoguo.insert([{name: 'm1', release: '2020-12-05', publishNum: 100}])
insert: 若新增数据的主键已经存在,则会抛 org.springframework.dao.DuplicateKeyException 异常提示主键重复,不保存当前数据。
save: 若新增数据的主键已经存在,则会对当前已经存在的数据进行修改操作。
2、修改数据
db.baoguo.update({name: 'm1'}, {$set: {release:'2020-12-04'}})
db.baoguo.update({name: 'm100'}, {$inc: {publishNum: 200}}, true)
db.baoguo.update({name: 'm1000'}, {$inc: {publishNum: 200}}, true)
db.baoguo.update({name: 'm1'}, {$inc: {publishNum: 200}}, true, true)
修改器$inc可以对文档的某个值为数字型(只能为满足要求的数字)的键进行增减的操作
set用来指定一个键并更新键值
后两个参数的第一个参数:true/如果数据查询不到,就创建 false/如果数据查询不到,就什么都不做
后两个参数第第二个参数:true/更新多条,false/更新一条
3、删除数据
db.baoguo.remove({name: 'm1000'})
4、查询数据
db.baoguo.find()
db.baoguo.distinct('name')输出所有name值
db.baoguo.find({release: '2020-12-05'})
db.baoguo.find({release: {$gt: '2020-12-05'}})大于
db.baoguo.find({release: {$gte: '2020-12-05'}})大于等于
db.baoguo.find({release: {$lt: '2020-12-05'}})小于
db.baoguo.find({release: {$lte: '2020-12-05'}})小于等于
db.baoguo.find({release: {$gte: '2020-12-04', $lte: '2020-12-06'}})区间
db.baoguo.find({name:/^1/})
db.baoguo.find({name:/1$/})
db.baoguo.find({}, {_id: 0, publishNum: 0}) 输出除了_id和publishNum以外的键值
db.baoguo.find({name:/1$/}, {_id: 0, publishNum: 0}) 输出name以1结尾,除了_id和publishNum以外的键值
db.baoguo.find().sort({release: 1})
db.baoguo.find().sort({release: -1})
db.baoguo.find().sort({release: 1}).limit(3).skip(6)
db.baoguo.find().limit(3).skip(6).sort({release: 1}) 先排序跳过6条取3条
db.baoguo.find({$or:[{release: '2020-12-04'}, {release: '2020-12-05'}]})
db.baoguo.findOne() 查第一条
db.baoguo.find().count() 查数量
5.导入
mongoimport -d lagou-admin -c Collections(1) --file C:\Users\jl\Desktop\game\bus.json
导入命令:
$ mongoimport --db test --collection user --file C:\Users\zhang_zk\Desktop\new.json
test: 你数据库名
user: 集合名