天天看點

Python操作Mongo資料庫詳細操作!Mongo資料庫下載下傳位址、安裝詳細步驟、基本操作方法(增、删、查、改),詳解!!!

一、下載下傳位址:

軟體下載下傳位址:http://dl.mongodb.org/dl/win32/x86_64

Python操作Mongo資料庫詳細操作!Mongo資料庫下載下傳位址、安裝詳細步驟、基本操作方法(增、删、查、改),詳解!!!

二、安裝步驟:

Python操作Mongo資料庫詳細操作!Mongo資料庫下載下傳位址、安裝詳細步驟、基本操作方法(增、删、查、改),詳解!!!
Python操作Mongo資料庫詳細操作!Mongo資料庫下載下傳位址、安裝詳細步驟、基本操作方法(增、删、查、改),詳解!!!

在指令行視窗中,首先來了 bin 路徑,然後輸入指令:

mongod --dbpath D:\MongoDB\Server\3.4\data\db
           
Python操作Mongo資料庫詳細操作!Mongo資料庫下載下傳位址、安裝詳細步驟、基本操作方法(增、删、查、改),詳解!!!

在浏覽器輸入 http://localhost:27017 (27017 是 mongodb 的端口号)檢視,若顯示:

Python操作Mongo資料庫詳細操作!Mongo資料庫下載下傳位址、安裝詳細步驟、基本操作方法(增、删、查、改),詳解!!!

當然,我們也可以新打開一個指令行視窗進行資料庫操作,如下圖所示。(注:目前啟

動的資料庫視窗不要關閉)

Python操作Mongo資料庫詳細操作!Mongo資料庫下載下傳位址、安裝詳細步驟、基本操作方法(增、删、查、改),詳解!!!

三.錦上添花,配置本地 windows mongodb 服務

直接用指令行啟動還是不太友善,那麼我們可以手動将 mongodb 配置到 windows 服務

當中去。

1.先在 data 檔案下建立一個新檔案夾 log(用來存放日志檔案)

2.在 Mongodb 建立配置檔案 mongo.config

用記事本打開 mongo.config 檔案,然後輸入:

dbpath=D:\MongoDB\Server\3.4\data\db

logpath=D:\MongoDB\Server\3.4\data\log\mongo.log
           
Python操作Mongo資料庫詳細操作!Mongo資料庫下載下傳位址、安裝詳細步驟、基本操作方法(增、删、查、改),詳解!!!

cmd 先跳轉到 D:\MongoDB\Server\3.4\bin 目錄下。

輸入:

mongod --config "D:\MongoDB\Server\3.4\mongo.config" --install --serviceName "MongoDB"
           

即根據剛建立的 mongo.config 配置檔案安裝服務,名稱為 MongoDB。

Python操作Mongo資料庫詳細操作!Mongo資料庫下載下傳位址、安裝詳細步驟、基本操作方法(增、删、查、改),詳解!!!

可視化

1.軟體下載下傳

軟體下載下傳位址:https://robomongo.org/download

Python操作Mongo資料庫詳細操作!Mongo資料庫下載下傳位址、安裝詳細步驟、基本操作方法(增、删、查、改),詳解!!!

2.傻瓜式安裝

3.連接配接資料庫

Python操作Mongo資料庫詳細操作!Mongo資料庫下載下傳位址、安裝詳細步驟、基本操作方法(增、删、查、改),詳解!!!
Python操作Mongo資料庫詳細操作!Mongo資料庫下載下傳位址、安裝詳細步驟、基本操作方法(增、删、查、改),詳解!!!

三、基本操作

1、與mysql資料庫對比了解

Python操作Mongo資料庫詳細操作!Mongo資料庫下載下傳位址、安裝詳細步驟、基本操作方法(增、删、查、改),詳解!!!

2、cd到bin下指令行輸入mongo進入

C:\MongoDB\Server\3.4\bin>mongo

3、"show dbs"指令可以顯示所有資料庫的清單

Python操作Mongo資料庫詳細操作!Mongo資料庫下載下傳位址、安裝詳細步驟、基本操作方法(增、删、查、改),詳解!!!

4、執行"db"指令可以顯示目前資料庫對象或集合。

Python操作Mongo資料庫詳細操作!Mongo資料庫下載下傳位址、安裝詳細步驟、基本操作方法(增、删、查、改),詳解!!!

5、運作"use"指令,可以連接配接到一個指定的資料庫。

Python操作Mongo資料庫詳細操作!Mongo資料庫下載下傳位址、安裝詳細步驟、基本操作方法(增、删、查、改),詳解!!!

6、需要注意:

資料庫也通過名字來辨別。資料庫名可以是滿足以下條件的任意UTF-8字元串。

  • 不能是空字元串("")。
  • 不得含有' '(空格)、.、$、/、\和\0 (空字元)。
  • 應全部小寫。
  • 最多64位元組。

7、插入資料

> db.runoob.insert({"name":"菜鳥教程"})
WriteResult({ "nInserted" : 1 })
           

8、MongoDB 删除資料庫(db.dropDatabase())

>db.dropDatabase()
{ "dropped" : "runoob", "ok" : 1 }
           

9、切換到資料庫 

>use runoob
switched to db runoob
>
           

10、如果要檢視已有集合,可以使用 show collections 或 show tables 指令:

> show collections
runoob
system.indexes
           

11、下面是帶有幾個關鍵參數的 createCollection() 的用法:

建立固定集合 mycol,整個集合空間大小 6142800 KB, 文檔最大個數為 10000 個。

> db.createCollection("mycol", { capped : true, autoIndexId : true, size : 
   6142800, max : 10000 } )
{ "ok" : 1 }
>
           

12、集合删除文法格式如下:

>use runoob
switched to db runoob
>show tables
site
>db.site.drop()#删除庫
true
>show tables
>
           

13、MongoDB 使用 insert() 或 save() 方法向集合中插入文檔,文法如下:

db.COLLECTION_NAME.insert(document)
           

執行個體

以下文檔可以存儲在 MongoDB 的 runoob 資料庫 的 col 集合中:

>db.col.insert({title: 'MongoDB 教程', 
    description: 'MongoDB 是一個 Nosql 資料庫',
    by: '菜鳥教程',
    url: 'http://www.runoob.com',
    tags: ['mongodb', 'database', 'NoSQL'],
    likes: 100
})
           

14、檢視已插入文檔:

> db.col.find()
{ "_id" : ObjectId("56064886ade2f21f36b03134"), "title" : "MongoDB 教程", "description" : "MongoDB 是一個 Nosql 資料庫",
 "by" : "菜鳥教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
>
           

15、update() 方法用于更新已存在的文檔。文法格式如下:

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)
           

參數說明:

  • query : update的查詢條件,類似sql update查詢内where後面的。
  • update : update的對象和一些更新的操作符(如$,$inc...)等,也可以了解為sql update查詢内set後面的
  • upsert: 可選,這個參數的意思是,如果不存在update的記錄,是否插入objNew,true為插入,預設是false,不插入。
  • multi: 可選,mongodb 預設是false,隻更新找到的第一條記錄,如果這個參數為true,就把按條件查出來多條記錄全部更新。
  • writeConcern:可選,抛出異常的級别。

執行個體

16、我們在集合 col 中插入如下資料:

>db.col.insert({
    title: 'MongoDB 教程', 
    description: 'MongoDB 是一個 Nosql 資料庫',
    by: '菜鳥教程',
    url: 'http://www.runoob.com',
    tags: ['mongodb', 'database', 'NoSQL'],
    likes: 100
})
           

接着我們通過 update() 方法來更新标題(title):

>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})
##隻會修改第一條滿足條件的查詢值
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })   # 輸出資訊
> db.col.find().pretty()
{
        "_id" : ObjectId("56064f89ade2f21f36b03136"),
        "title" : "MongoDB",
        "description" : "MongoDB 是一個 Nosql 資料庫",
        "by" : "菜鳥教程",
        "url" : "http://www.runoob.com",
        "tags" : [
                "mongodb",
                "database",
                "NoSQL"
        ],
        "likes" : 100
}
>
           

17、save方法(以下執行個體中我們替換了 _id 為 56064f89ade2f21f36b03136 的文檔資料:)

>db.col.save({
    "_id" : ObjectId("56064f89ade2f21f36b03136"),
    "title" : "MongoDB",
    "description" : "MongoDB 是一個 Nosql 資料庫",
    "by" : "Runoob",
    "url" : "http://www.runoob.com",
    "tags" : [
            "mongodb",
            "NoSQL"
    ],
    "likes" : 110
})
           

18、remove() 方法的基本文法格式如下所示:

db.collection.remove(
   <query>,
   <justOne>
)
#如果你的 MongoDB 是 2.6 版本以後的,文法格式如下:
db.collection.remove(
   <query>,
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)
           

參數說明:

  • query :(可選)删除的文檔的條件。
  • justOne : (可選)如果設為 true 或 1,則隻删除一個文檔。
  • writeConcern :(可選)抛出異常的級别。

執行個體

以下文檔我們執行插入操作

>db.col.insert({title: 'MongoDB 教程', 
    description: 'MongoDB 是一個 Nosql 資料庫',
    by: '菜鳥教程',
    url: 'http://www.runoob.com',
    tags: ['mongodb', 'database', 'NoSQL'],
    likes: 100
})
使用 find() 函數查詢資料:
> db.col.find()
{ "_id" : ObjectId("56066169ade2f21f36b03137"), "title" : "MongoDB 教程", "description" : "MongoDB 是一個 Nosql 資料庫", "by" : "菜鳥教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
{ "_id" : ObjectId("5606616dade2f21f36b03138"), "title" : "MongoDB 教程", "description" : "MongoDB 是一個 Nosql 資料庫", "by" : "菜鳥教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
           
>db.col.remove({'title':'MongoDB 教程'})##預設删除所有
WriteResult({ "nRemoved" : 2 })           # 删除了兩條資料
>db.col.find()
……                                        # 沒有資料
           
#如果你隻想删除第一條找到的記錄可以設定 justOne 為 1
>db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)删除一條
           

19:MongoDB OR 條件語句使用了關鍵字$or,文法格式如下:

>db.col.find({$or:[{"by":"菜鳥教程"},{"title": "MongoDB 教程"}]}).pretty()
{
        "_id" : ObjectId("56063f17ade2f21f36b03133"),
        "title" : "MongoDB 教程",
        "description" : "MongoDB 是一個 Nosql 資料庫",
        "by" : "菜鳥教程",
        "url" : "http://www.runoob.com",
        "tags" : [
                "mongodb",
                "database",
                "NoSQL"
        ],
        "likes" : 100
}
>
           

AND 和 OR 聯合使用

以下執行個體示範了 AND 和 OR 聯合使用,類似正常 SQL 語句為:'where likes>50 AND (by = '菜鳥教程' OR title = 'MongoDB 教程')'

>db.col.find({"likes": {$gt:50}, $or: [{"by": "菜鳥教程"},{"title": "MongoDB 教程"}]}).pretty()
{
        "_id" : ObjectId("56063f17ade2f21f36b03133"),
        "title" : "MongoDB 教程",
        "description" : "MongoDB 是一個 Nosql 資料庫",
        "by" : "菜鳥教程",
        "url" : "http://www.runoob.com",
        "tags" : [
                "mongodb",
                "database",
                "NoSQL"
        ],
        "likes" : 100
}


例如:

查詢user集合中 uname="張三" and age=21 的所有文檔
> db.user.find({"uname":"zhangsan","age":21}).pretty()


查詢user集合中 uname=zhangsan 或者 uname="張三"的資料
>db.user.find({$or:[{"uname":"zhangsan"},{"uname": "張三"}]}).pretty()
           

20、雜七亂八

Python操作Mongo資料庫詳細操作!Mongo資料庫下載下傳位址、安裝詳細步驟、基本操作方法(增、删、查、改),詳解!!!
Python操作Mongo資料庫詳細操作!Mongo資料庫下載下傳位址、安裝詳細步驟、基本操作方法(增、删、查、改),詳解!!!
Python操作Mongo資料庫詳細操作!Mongo資料庫下載下傳位址、安裝詳細步驟、基本操作方法(增、删、查、改),詳解!!!

eg:

Python操作Mongo資料庫詳細操作!Mongo資料庫下載下傳位址、安裝詳細步驟、基本操作方法(增、删、查、改),詳解!!!

繼續閱讀