#新建库
use database_name
#查看所有库
show dbs
#删除库
db.dropDatabase()
#新建集合
db.createCollection(name,options)
- name:要创建集合名称
- options:可选参数,指定有关内容大小及索引的选项
#删除集合
db.collectionName.drop()
#插入
db.collectionName.insert()
db.collectionName.insertOne()
db.collectionName.insertMany()
#更新
db.collectionName.update({key:value},{$set:{newkey:newValue}})
#删除
db.collectionName.remove({key:value})
#查找
db.collectionName.find({key:value})
#格式化结果
db.collectionName.find().pretty()
#指定返回列
db.collectionName.find({},{"phone":1,"name":0})
说明:第一个{}放where条件,第二个是指返回的列,1表示显示,0表示不显示
#and 或 or条件查找
db.collectionName.find( { $or: [ {key1: value1}, {key2:value2} ] } ).pretty()
#条件操作符
- 大于:$gt
- 大于等于:$gte
- 小于:$lt
- 小于等于:$lte
例子:年龄大于等于18,小于等于35
db.col.find({"age":{$gte:18,$lte:35}})
#排序
使用 1 和 -1 来指定排序方式,其中 1 表示升序,而 -1 表示降序。
db.connectionName.find({key:value}).sort({columnName:1})
#limit
获取指定数量的记录
db.connectionName.find({key:value}).limit({number})
#聚合
主要用于处理数据(如求和、平均值等)
db.connetionName.aggregate()
- $match:过滤数据,输入符合条件的文档
- $group:将集合中的文档分组,用户统计结果
- $project:修改输入文档的结构
例子:统计年龄大于30的每个年纪的人数
db.NewCarClues.aggregate([
{$match: {"age": {$gte:30}}},
{$group: {_id: "$age",num: { $sum: 1 }}}
])