mongodb總結(jié)

Q: 查詢字段是否存在

db.collections.find({filed: {$exists: true}})

Q: 查詢不存在字段field的數(shù)據(jù)并且設置字段為newValue

db.collections.updateMany({filed: {$exists: false}}, {$set: {filed: newValue}}

Q: 數(shù)據(jù)中存在知識點屬性,該屬性結(jié)構為

points: [
    {
      point: { // 最后一個知識點
        type: ObjectId,
        ref: 'point'
      },
      path: [String] // 知識點路徑
    }
  ],

需要查詢知識點a及知識點a之下所有知識點的數(shù)據(jù)

db.collections.find({
  points: {
  $elemMatch: {
       path: {
          $all: point // point為知識點a的path
        }
      }
  }
})

Q: 二維數(shù)組元素查詢,結(jié)構為

{
  "a": [["yellow", "num"], ["blue", "num"]]
}

查出有’yellow’的數(shù)據(jù)

db.collections.find({'a':{'$elemMatch':{'$elemMatch':{'$in':['yellow']}}})

Q: 刪除數(shù)據(jù)的屬性filed

db.collections.updateMany({}, {$unset: {filed: 1}}

Q: 查詢數(shù)據(jù)中數(shù)組大于n的數(shù)據(jù)

數(shù)組元素個數(shù)可以使用$size,如查詢數(shù)組個數(shù)為n的數(shù)據(jù):

db.collections.find({list: {$size: n}})

但是$size不能使用范圍運算??梢允褂?where關鍵字

db.collections.find({$where: "this.list.length > n"})

這種方法速度較慢,可以使用

db.collections.find({"list.n": {$exists: true}})

這種方法速度更快,但是前提是數(shù)組中的元素不能為空值。另外也有人添加size屬性,專門用來保存數(shù)組長度,此時,查詢size的大小即可。

Q: 刪除數(shù)據(jù)中filed字段重復的數(shù)據(jù)

  1. 新建立一個new集合,用于保存去重后的數(shù)據(jù)。且再new集合中建立唯一索引
db.new.ensureIndex({"field":1},{"unique":true})
  1. 將old集合中的數(shù)據(jù)使用mongoexport導出,然后mongoimport導入到new集合中
mongoexport -d test -c old -o data.dat
mongoimport -d test -c new data.dat

Q: mongodb不聯(lián)網(wǎng)無法連接

數(shù)據(jù)庫地址使用127.0.0.1,而不使用localhost

參考:
數(shù)組相關查詢
MongoDB查詢(數(shù)組、內(nèi)嵌文檔和$where)
數(shù)據(jù)更新命令
查詢命令

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • 漲姿勢 1.MySQL與Mongo中的一些概念對比: 基本語法規(guī)則 1.DDL語法(操作數(shù)據(jù)庫及表的結(jié)構) ---...
    Cinque_Peng閱讀 475評論 0 0
  • 國家電網(wǎng)公司企業(yè)標準(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 12,306評論 6 13
  • 1. MongoDB 簡介 MongoDB是一個可擴展的高性能,開源,模式自由,面向文檔的NoSQL,基于分布式文...
    rhlp閱讀 1,209評論 0 3
  • 這些是在熊貓書院一周閱讀一本的活動中所記錄下來的一些讀書筆記,這個活動我是去年參加的,當時也曾想一定要好看看這些書...
    陸晗晗閱讀 421評論 0 0

友情鏈接更多精彩內(nèi)容