查看所有数据库
show dbs
// amdin 0.000GB
// local 0.000GB
// 使用数据库
use admin
// switched to db admin
// 创建数据库:向数据库中插入记录
db.user.insert({ ‘name‘: ‘wangxi‘
})
// WriteResult({ "nInserted" : 1 })
// 显示当前数据库
db
// admin
// 查询当前集合中的文档
db.user.find()
// { "_id" : ObjectId("59f7f0088cc643905a25fa7f"), "name" : "wangxi" }
// 根据条件查询(and 条件查询)
db.user.find({ name: ‘wangxi‘, age: ‘25‘
})
// 以格式化的方式来显示所有文档
db.col.find().pretty()
// 只返回一个文档
db.col.findOne()
// 跳过指定数量、返回指定数量的文档
db.user.find({}).limit(3).skip(1
)
// or 条件查询
db.user.find({ $or: [{ name: ‘wangxi‘}, { name: ‘hanjiaren‘
}]})
// { "_id" : ObjectId("59f821f8f4bf9a3582c6ef5c"), "name" : "wangxi" }
// { "_id" : ObjectId("59f8222df4bf9a3582c6ef5f"), "name" : "hanjiaren" }
// 条件操作符
db.user.find({ age: { $gt: 20 }})
// 大于
db.user.find({ age: { $lt: 30}})
// 小于
db.user.find({ age: { $gte: 30}})
// 大于等于
db.user.find({ age: { $lte: 30}})
// 小于等于
db.user.find({ age: { $eq: 25}})
// 等于
db.user.find({ age: { $ne: 25}})
// 不等于
// $type 操作符 —— 获取值为指定类型的文档(可以查表获取不同类型的文档对应的编号)
db.col.find({ title: { $type: 2
}})
// 删除当前数据库
db.dropDatabase()
// { "dropped" : "admin", "ok" : 1 }
// 显示当前数据库中的所有集合
show collections /
show tables
// user
// 删除指定集合
db.user.drop()
// true
// 更新文档
db.user.update({ name: ‘wangxi‘}, { $set: { name: ‘Raychan‘ }}, { upsert:
true, multi:
true })
// WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
db.user.find()
// { "_id" : ObjectId("59f81c6f8cc643905a25fa87"), "name" : "Raychan" }
db.user.update({ name: ‘wangxi‘}, { $set: { name: ‘Raychan‘ }},
true,
true)
db.user.find()
// { "_id" : ObjectId("59f81c6f8cc643905a25fa87"), "name" : "Raychan" }
// { "_id" : ObjectId("59f81ef674a03e811969aa93"), "name" : "Raychan" }
// 删除文档
db.user.remove({ name: ‘Raychan‘ },
true)
// 只删除一个文档
// WriteResult({ "nRemoved" : 1 })
// 删除所有文档
db.user.remove({})
// {} 不能少
WriteResult({ "nRemoved" : 5
})
// remove 已经过时,官方推荐使用 deleteOne 和 deleteMany
db.user.deleteOne({ name: ‘wangxi‘
})
// { "acknowledged" : true, "deletedCount" : 1 }
// 排序
db.user.find({}).sort({ age: 1
})
// 聚合 $sum、$avg、$max、$min(字段引用要加 $)
db.user.aggregate([{ $group: { _id: ‘$name‘, num_of_user: { $sum: 1
}}}])
// select name, count(*) from user group by name
// 管道操作
// $project: 修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文档。
db.user.aggregate({ $project: { _id: 0, name: 1, age: 0
}})
// 0 代表不输出,1 代表输出 类似于 sql 中的 select name from user
// $match: 用于过滤操作
// 筛选 age > 20 的文档
db.user.aggregate({ $match: { age: { $gt: 20
}}})
// $skip: 效果和 find().skip(num) 相同
db.user.aggregate({ $skip: 3 })
MongoDB 基本操作学习笔记
标签:switch let local 嵌套 文档 man 笔记 match 大于等于