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 })
时间: 2024-08-05 07:14:34

MongoDB 基本操作学习笔记的相关文章

MongoDB + node-mongoskin学习笔记

特点 无模式 MongoDB 中的每一条文档,都是一个 JSON 对象,因此你无需预定义一个集合的结构,集合中的每个文档也可以有不同的结构. 异步写入 MongoDB 默认所有的写操作都是『不安全』的,即当请求被 MongoDB 收到时,不等写入操作完成,就返回一个『成功』的响应. 这是默认的行为,当然你设置一些选项,让操作等待等待写入完成后再返回响应.不过对于大多数应用,这种『不安全』已经足够安全了. 简单查询 MongoDB 只支持简单的查询,MongoDB 只储存数据,更多的逻辑应该在应用

MongoDB快速学习笔记

一,下载. XP系统,32位的下载地址: https://www.mongodb.org/dl/win32/i386 例:win32/mongodb-win32-i386-2.0.7.ziphttp://downloads.mongodb.org/win32/mongodb-win32-i386-2.0.7.zip大小约17M. win32/mongodb-win32-i386-3.2.7.ziphttp://downloads.mongodb.org/win32/mongodb-win32-i

【mongoDB】学习笔记_01

MongoDB 简介 简介 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.它支持的数据结构非常松散,是类似 json 的 bson 格式,因此可以存储比较复杂的数据类型. 面向集合的存储 在 MongoDB 中,一个数据库包含多个集合,类似于 MySQL 中一个数据库包含多个表:一个集合包含多个文档,类似于 MySQL 中一个表包含多条数据 MongoDB 基本概念 数据库 一个 MongoDB 可以创建多个数据库 使用 show

mongodb的学习笔记一(集合和文档的增删改查)

1数据库的增删改查 一.增加一个数据库: use blog-----切换到指定的数据库,如果数据库不存在,则自动创建该数据库(新建的数据库,如果没有存储对应的集合,是不会显示出来的) 二.删除一个数据库 1首先用use 切换到你需要删除的数据库 use test 2然后执行db.dropDatabase()命令 db.dropDatabase() 三.修改一个数据库的名字 db.copyDatabase(fromdb, todb, fromhost) fromdb:源数据库, todb:目标数据

MongoDB MapReduce学习笔记

MapReduce应该算是MongoDB操作中比较复杂的了,自己开始理解的时候还是动了动脑子的,所以记录在此! 命令语法:详细看 db.runCommand( { mapreduce : 字符串,集合名, map : 函数,见下文 reduce : 函数,见下文 [, query : 文档,发往map函数前先给过渡文档] [, sort : 文档,发往map函数前先给文档排序] [, limit : 整数,发往map函数的文档数量上限] [, out : 字符串,统计结果保存的集合] [, ke

【mongoDB】学习笔记_02

查询语句 环境准备: > use mydbswitched to db mydb> db.createCollection('user'){ "ok" : 1 }> > > db.user.insert({name:'niuh',age:11})> db.user.insert({name:'kk',age:22})> > > db.post.find find() 语句 //find() 用法:db.COLLECTION_NAME

MongoDB数据库学习笔记

一.Mongodb数据库之增删改查 show databasesshow dbs    //显示数据库: show tables    show collections    //查示表或者集合: use imooc  //使用或创建数据库imooc: 增:use imoocdb.imooc_collection.insert({x:1})    //往集合名"imooc_collection"插入单条数据"x:1": db.imooc_collection.ins

MongoDB Java 学习笔记 (Java操作MongoDB)

原文地址:http://blog.csdn.net/ererfei/article/details/50857103 参考文档:http://www.runoob.com/mongodb/mongodb-java.html

mySQL基本操作学习笔记(一)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? .?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1.auto_increment ? ? 2.主健 auto_increment必须与主键一起使用,而主键不一定与前者一起使