天天看點

MongoDB操作MongoDB

MongoDB

資料庫語句

注:(在 MongoDB 預設資料庫測試。如果沒有建立任何資料庫,然後集合将被存儲在測試資料庫。)

1、 建立資料庫

use DATABASE_NAME
           

2、 檢查資料庫清單

3、 删除資料庫

db.dropDatabase()
           

集合操作

1、 建立集合

db.createCollection(name, options)
           
Name    String  要建立的集合名稱
Options Document    (可選)指定有關記憶體大小和索引選項
           

2、 删除集合

db.COLLECTION_NAME.drop()
           

文檔操作

1、 插入文檔

db.COLLECTION_NAME.insert(document)
           

例如:

db.mycol.insert({
   _id: ObjectId(df78ad8902c),
   title: 'MongoDB Overview', 
   description: 'MongoDB is no sql database',
   by: 'tutorials yiibai',
   url: 'http://www.yiibai.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 
})
           

2、 查詢文檔

* find()方法:

find() 方法将在非結構化的方式顯示所有的檔案。

db.COLLECTION_NAME.find()
           
  • pretty() 方法

    結果顯示在一個格式化的方式,可以使用 pretty() 方法

db.mycol.find().pretty()
           
  • 例子
db.mycol.find().pretty()
{
   "_id": ObjectId(df78ad8902c),
   "title": "MongoDB Overview", 
   "description": "MongoDB is no sql database",
   "by": "tutorials yiibai",
   "url": "http://www.yiibai.com",
   "tags": ["mongodb", "database", "NoSQL"],
   "likes": "100"
}
           

*除了find() 方法外,還有一個 findOne() 法,傳回一個檔案。

*AND 在MongoDB中用法

在 find() 方法,如果通過多個鍵分離’,’,那麼 MongoDB 處理 AND 條件。AND 基本文法如下所示

db.mycol.find({key1:value1, key2:value2}).pretty()
           
  • MongoDB中OR

    OR條件的基礎上要查詢檔案,需要使用or關鍵字。OR 基本文法如下所示:

db.mycol.find(
   {
      $or: [
         {key1: value1}, {key2:value2}
      ]
   }
).pretty()
           

3、MongoDB 更新文檔

MongoDB的 update() 和 save() 方法用于更新文檔的集合。 update()方法更新現有的文檔值,而替換現有的文檔通過的檔案中 save() 方法。

*update()方法更新現有文檔值。

db.COLLECTION_NAME.update(SELECTIOIN_CRITERIA, UPDATED_DATA)
           

例子:

MongoDB預設将隻更新單一的檔案,來更新多個你需要設定參數置’multi’ 為true

*save() 方法替換現有的文檔和通過新的文檔 save() 方法

db.COLLECTION_NAME.save({_id:ObjectId(),NEW_DATA})
           

例子:

db.mycol.save(
   {
      "_id" : ObjectId(adf45ec7), "title":"Yiibai New Topic", "by":"Yiibai"
   }
)
           

3、MongoDB 删除文檔

*remove() 方法

MongoDB的 remove() 方法用于從集合中删除文檔。remove() 方法接受兩個參數。第一個是删除criteria ,第二是justOne标志:

deletion criteria :(可選)删除标準,根據檔案将被删除。

justOne : (可選)如果設定為true或1,然後隻删除一個檔案。

例子:

db.mycol.remove({'title':'MongoDB Overview'})
           

*删除隻有一個

如果有多個記錄且要删除的隻有第一條記錄,那麼設定remove()方法中justOne參數

db.COLLECTION_NAME.remove(DELETION_CRITERIA,)
           

*删除所有檔案

如果不指定删除條件,然後MongoDB将從集合中删除整個檔案。這相當于SQL的truncate指令。

db.mycol.remove()