mongodb操作

来源:https://www.cnblogs.com/zhengze/archive/2019/04/13/10702123.html
-Advertisement-
Play Games

查詢用戶:db.system.users.find() 添加用戶:db.addUser('admin', '1234') mongodb導入csv數據 mongoimport -h localhost --port 27017 -u tor_tester -p 123456 -d torstatus ...


  1. 查詢用戶:db.system.users.find()

  2. 添加用戶:db.addUser('admin', '1234')

  3. mongodb導入csv數據

    mongoimport -h localhost --port 27017 -u tor_tester -p 123456 -d torstatus -c countrytocode -f country,ISO2 --file cc6.csv --type csv --ignoreBlanks

     

    導出數據至csv

    mongoexport -h localhost --port 27017 -u tor_tester -p 123456 -d torstatus -c countrytocode -f country,ISO2 -o cc6.csv 

  4. 創建索引:db.user.ensureIndex({"name":1},{name:'indexname'})

  5. 查看索引:db.status.getIndexes()

  6. 查看具體信息:db.mytest.find().explain()

  7. 刪除索引: collection.dropIndex({xxx:1/-1})

     

    ======================================================================================

    8.聚合查詢

 

db.status.group({

    keyf : function(status){

    var date = new Date(status.created.replace(/-/g, "/")); //字元串類型的時間轉為ISODate時間格式

    var dateKey = ""+date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();

    return {'day':dateKey}; 

}, 

initial : {"count":0}, 

reduce : function Reduce(status, out) {

         if(status.ipaddress){

            out.count +=1;

         }

    },

});

 

db.status.group({

     keyf: function(status){

         return {'platform':status.platform};

     },

     initial:{count:0},

     reduce:function(status, out){

          out.count++;

     },

});

 

db.status.group({

     key:{country_code:{"$ne":""}},

     initial:{count:0},

     reduce:function(status, out){

          out.count++

     },

 

});

 

db.status.aggregate([

  {$match:{'platform':{$ne:""}}},

    {$group: {

        _id: "$platform", 

     count: {$sum: 1}}

    },

    {$sort: {"_id": 1}}

]);

 

db.status.aggregate([

  {$match:{'country_code':{$ne:""}}},

    {$group: {

        _id: "$country_code", 

     count: {$sum: 1}}

    },

    {$sort: {"_id": 1}}

]);

 

db.status.aggregate([

  {$match:{'exit_flag':{$ne:""}}},

    {$group: {

        _id: "$exit_flag", 

     count: {$sum: 1}}

    },

    {$sort: {"_id": 1}}

]);

 

var str ='2012-08-12 23:13:15';

str = str.replace(/-/g,"/");

var date = new Date(str);

======================================================================================

9.添加新欄位:

db.blocks.update({}, {$set: {'uncles':[]}}, {multi: 1})

======================================================================================

10. mongodb添加索引時,索引的名字跟mongoengine的models的ordering一致時,才有效。這樣做分頁時才能快速獲取每頁數據。

======================================================================================

11.

127.0.0.1:6379> flushall

(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.

127.0.0.1:6379> config set stop-writes-on-bgsave-error no

OK

======================================================================================

12.

db.transactions.find({"blockNumber":{$type:2}}).forEach(function(x){x.blockNumber=parseInt(x.blockNumber);db.transactions.save(x)})

======================================================================================

13.

1 Double 浮點型
2 String UTF-8字元串都可表示為字元串類型的數據
3 Object 對象,嵌套另外的文檔
4 Array 值的集合或者列表可以表示成數組
5 Binary data 二進位
7 Object id 對象id是文檔的12位元組的唯一 ID 系統預設會自動生成
8 Boolean 布爾類型有兩個值TRUE和FALSE
9 Date 日期類型存儲的是從標準紀元開始的毫秒數。不存儲時區
10 Null 用於表示空值或者不存在的欄位
11 Regular expression 採用js 的正則表達式語法
13 JavaScript code 可以存放Javasript 代碼
14 Symbol 符號
15 JavaScript code with scope 
16 32-bit integer 32位整數類型
17 Timestamp 特殊語義的時間戳數據類型
18 64-bit integer 64位整數類型

     

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.統計本目錄下除`./apps/myapp/migrations`的所有py文件 2.單個文件行數 ...
  • 要安裝centos系統,就必須得有centos系統軟體安裝程式,可以通過瀏覽器訪問centos官網http://www.centos.org,然後找到Downloads - > mirrors鏈接,點擊後進入下載,但是由於這是國外的網址,下載速度肯定受限。 因此可以使用國內的鏡像源 下載安裝激活vm ...
  • 使用RouterOS, 搭建虛擬路由器,並且配置多個網關互通。配置步驟如下。 基礎配置 1. RouterOS 伺服器,設置如下 2. VM 不同網段的設置 == 192.168.4.X 網段 設置gateway為RouterOS伺服器上的對應網段的IP = 192.168.4.1 然後,記得重啟n ...
  • 概述 NewSQL日漸火熱,無論還是開源的TiDB,CockroachDB還是互聯網大廠的Spanner,Oceanbase都號稱NewSQL,也就是分散式資料庫。NewSQL的典型特征就是,支持SQL,支持事務,高性能,低成本,高可靠,強一致,易擴展,運維友好等。從NewSQL的演進來看,所謂Ne ...
  • 一、事務的四大特性(ACID) 瞭解事務隔離級別之前不得不瞭解的事務的四大特性。 1、原子性(Atomicity) 事務開始後所有操作,要麼全部做完,要麼全部不做。事務是一個不可分割的整體。事務在執行過程中出錯,會回滾到事務開始之前的狀態,以此來保證事務的完整性。類似於原子在物理上的解釋:指化學反應 ...
  • 1、前置條件 MySQL資料庫中存在表user_info,其結構和數據如下: 2、自定義函數 函數:可以完成特定功能的一段SQL集合。MySQL支持自定義函數來完成特定的業務功能。 創建自定義函數(User Defined Function 簡稱UDF)的語法如下: 調用UDF的語法如下: 創建無參 ...
  • 資料庫事務併發帶來臟讀、不可重覆讀和幻讀等問題,為瞭解決這三個問題,出現了事務隔離級別,如:未提交讀取(read uncommitted)、已提交讀取(read committed)、可重覆讀取(repeatable read)、串列化(rerializable)。後續文章詳細介紹事務併發帶來的各個 ...
  • 使用索引的註意事項 使用索引時,有以下一些技巧和註意事項: 1.索引不會包含有NULL值的列 只要列中包含有NULL值都將不會被包含在索引中,複合索引中只要有一列含有NULL值,那麼這一列對於此複合索引就是無效的。所以我們在資料庫設計時不要讓欄位的預設值為NULL。 2.使用短索引 對串列進行索引, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...