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()
等于: 默认是等于判断, 没有运算符
⼩于:lte (less than equal)
⼤于:gte
db.stu.find({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(<query> ,<update>,{multi: <boolean>})
● 参数query:查询条件
● 参数update:更新操作符
● 参数multi:可选, 默认是false,表示只更新找到的第⼀条记录, 值为true表示把满⾜条件的⽂档全部更新
db.stu.update({name:'hr'},{set:{gender:0}},{multi:true}) 更新全部
集合删除:db.集合名称.remove(<query>,{justOne: <boolean>})
● 参数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({管道:{表达式}})
● group: 将集合中的⽂档分组, 可⽤于统计结果
● sort: 将输⼊⽂档排序后输出
● skip: 跳过指定数量的⽂档, 并返回余下的⽂档
db.stu.aggregate(
{gender",counter:{sort:{counter:-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})