1. 程式人生 > >MongoDB 基本操作學習筆記

MongoDB 基本操作學習筆記

一個 返回 show fin and 格式 style 排序 ons

// 查看所有數據庫
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 基本操作學習筆記