Mongodb 命令及 PyMongo 庫的使用

1. PyMongohtml

  import pymongomongodb

  1. 初始化 Mongo 客戶端數據庫

client=pymongo.MongoClient(mongodb://10.85.39.45:8188,10.85.39.43:8188,10.85.39.31:8188,10.85.39.32:8188,10.85.39.33:8188,10.85.39.34:8188,10.85.32.16:8188,10.85.32.33:8188,10.85.39.35:8188,10.85.39.27:8188)數組

  2. 初始化數據庫
    mongo_database = client[db_name]spa

  3. 初始化表(彙集、集合)htm

    stat_tbl = mongo_database[stat_tbl_name]對象

  4. 在表中按照鍵值查找數據blog

    start_time_doc = stat_tbl.find_one({'keyword': keyword_name})文檔

    start_time_doc下可能還有二級鍵值,須要用start_time_doc['start_time']訪問get

  5. 在表中更新數據

    stat_tbl.update({'keyword': keyword_name}, {'$set': {'start_time': timestamp}})

  6. 查看 mongodb 客戶端中數據庫和彙集的名字

    client.database_names()

    db.collection_names()

  7. 查看彙集中一條記錄

    db.Account.find_one({"UserName":"keyword"})

    在這裏db.Account與db['Account']做用相同,都是表示數據庫中的一個彙集

  8. 查看彙集的多條記錄

    for item in db.Account.find():
           item

  9. 查詢語法詳解 db.collection.find(query, projection)

    查詢條件由 query 參數傳入,爲字典類型。不一樣的查詢條件用 ',' 隔開表示查詢條件的 AND,查詢的字段和具體值用字典的 key/value 來表示。好比:

      db.col.find({key1value1, key2value2})  查詢彙集中 key1 爲 value1,同時 key2 爲 value2 兩個條件成立的記錄。

    另外,使用操做符能夠指定查詢條件,格式爲:

      {key1: {operator: value}})

    這些操做符包括,詳細見:https://docs.mongodb.com/manual/reference/operator/query/

      $eq:與某個值相等

      $gt:大於某個值

      $gte:大於等於某個值

      $in:爲數組中的某個值

      $lt:小於某個值

      $lte:小於等於某個值

      $ne:不等於某個值

      $nin:不在數組的列表中     

    $and 和 $or 爲特殊的邏輯運算符其用法以下,條件寫在列表裏:

      {$or: [{key1: value1, key2: value2}]}

    舉例:table.find({"saveTime": {"$gte": 1501516800}, "bjh_ext.ext_info.feed_ext_info.source_id": {"$in": [3000084, 3000085, 3000086]}})

    上述查詢語句用於在table裏查找"saveTime"值大於等於1501516800即某個時刻以後的,且bjh_ext.ext_info.feed_ext_info.source_id值在列表給出範圍內的記錄。'.' 運算符用於在嵌入式的文檔中查詢,表示多級鍵值。

參考:http://www.cnblogs.com/zhouxuchen/p/5544227.html

2. MongoDB

  其餘:

    1. 存在 MongoDB 中的數據會自動加上一個 '__id' 字段,值爲該條記錄的對象,在對數據進行解析時,須要先將該字段刪除。

    2. 較大的數據類型會存爲 BSON.int64.int64 類型,爲數據庫獨有的類型,將讀出來的數據轉換爲其餘格式好比 marshal 時,須要先將這個字段的值轉換爲 int 類型。

相關文章
相關標籤/搜索