MongoDB 基本操作学习笔记
Posted Back to Reff.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB 基本操作学习笔记相关的知识,希望对你有一定的参考价值。
// 查看所有数据库 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 基本操作学习笔记的主要内容,如果未能解决你的问题,请参考以下文章
MongoDB快速入门学习笔记4 MongoDB的文档查询操作
MongoDB快速入门学习笔记3 MongoDB的文档插入操作