mongod --dbpath C:\Program Files\MongoDB\Server\5.0\data\db
mongod
查看数据库:show databases
查看正在使用的数据库:db
切换数据库或者创建数据库:use 数据库名
删除当前数据库:db.dropDatabase()

查看集合:show collections
创建集合:db.createCollection(name,options)
参数capped: 默认值为false表示不设置上限,值为true表示设置上限
参数size: 当capped值为true时, 需要指定此参数, 表示上限⼤⼩,当⽂档达到上限时, 会将之前的数据覆盖, 单位为字节
检查集合是否有上限: db.集合名.isCapped()
删除集合:db.集合名称.drop()

插入:db.集合名称.insert(document)
插入多条数据:db.stu.insertMany(document)
插入:db.集合名称.save(document)

查询:db.集合名称.find()
等于: 默认是等于判断, 没有运算符
⼩于:$lt (less than)
⼩于等于:$lte (less than equal)
⼤于:$gt (greater than)
⼤于等于:$gte
db.stu.find({$or:[{age:{$gt:18}},{gender:true}], name:"郭靖"}).pretty()
db.stu.find({age:{$in:[18,28]}})
db.stu.find( {}, { name: 1, age: 1 } ) 显示id,name和age
db.stu.find( {}, { name: 1, age: 1 ,_id:0} ) 显示name和age
db.stu.find({}, {_id:0}) 不显示id,其余都显示

自定义查询

db.stu.find({
$where:function() {
return this.age>30;
}
})

更新:db.集合名称.update( ,,{multi: })
● 参数query:查询条件
● 参数update:更新操作符
● 参数multi:可选, 默认是false,表示只更新找到的第⼀条记录, 值为true表示把满⾜条件的⽂档全部更新
db.stu.update({name:'hr'},{$set:{name:'hys'}}) 指定键值对更新
db.stu.update({name:'hr'},{name:'mnc'})
db.stu.update({},{$set:{gender:0}},{multi:true}) 更新全部

集合删除:db.集合名称.remove(,{justOne: })
● 参数query:可选,删除的⽂档的条件
● 参数justOne:可选, 如果设为true或1, 则只删除⼀条, 默认false, 表示删除多条

读取指定数量的⽂档:db.集合名称.find().limit(NUMBER)
跳过指定数量的⽂档:db.集合名称.find().skip(NUMBER)
排序:db.集合名称.find().sort({字段:1,...}) (1为升序,-1为降序)
统计个数:db.集合名称.find({条件}).count() db.集合名称.count({条件})
去重:db.集合名称.distinct('去重字段',{条件})

mongodb聚合:db.集合名称.aggregate({管道:{表达式}})
● $match: 过滤数据, 只输出符合条件的⽂档
● $group: 将集合中的⽂档分组, 可⽤于统计结果
● $project: 修改输⼊⽂档的结构, 如重命名、 增加、 删除字段、 创建计算结果
● $sort: 将输⼊⽂档排序后输出
● $limit: 限制聚合管道返回的⽂档数
● $skip: 跳过指定数量的⽂档, 并返回余下的⽂档
db.stu.aggregate(
{$group:{_id:"$gender",counter:{$sum:1}}},
{$sort:{counter:-1}},
{$skip:1},
{$limit:1}
)

索引
● db.集合.ensureIndex({属性:1}),1表示升序, -1表示降序
● db.集合.createIndex({属性:1})
● db.集合名.createIndex({name:1})
删除索引:db.t1.dropIndex({'索引名称':1})
创建唯一索引:db.collection_name.ensureIndex({"name":1},{"unique":true})
创建复合索引:db.collection_name.ensureIndex({字段1:1,字段2:1})

posted on 2022-08-04 16:06  一别正思红豆子  阅读(879)  评论(0编辑  收藏  举报