国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Swift 如何訪問 MongoDB

Hujiawei / 1181人閱讀

摘要:注意每次向項目追加依存關系時,必須要打開軟件包管理器重新創(chuàng)建一個新的項目文件。

Perfect 開源項目 參與 Perfect 開發(fā) Slack 在線協(xié)同

MongoDB

MongoDB庫函數(shù)是在mongo-c語言庫的基礎上封裝而成,能夠為Swift輕松訪問MongoDB服務器提供便利。

該工具庫軟件包是由Swift軟件包管理器編譯而來,是
Perfect項目的組成部分,
被設計為可以獨立使用,不依賴PerfectLib或其它任何組件。

請確保安裝并激活了最新版本的Swift 3.0 toolchain。

不同操作系統(tǒng)平臺的準備工作 OS X

該工具包需要通過Homebrew安裝mongo-c。

安裝Homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安裝mongo-c:

brew install mongo-c
Linux

確保已經(jīng)安裝了libmongoc。

sudo apt-get install libmongoc
在您的項目里引用MongoDB Driver驅(qū)動

請在Package.swift增加對該驅(qū)動的依存關系。

.Package(
    url:"https://github.com/PerfectlySoft/Perfect-MongoDB.git",
    majorVersion: 2, minor: 0
    )

關于如何在您的項目中使用Perfect函數(shù)庫,詳見參考手冊《使用Swift軟件包管理器編譯項目》

快速上手

通過以下命令快速克隆一個空白的Perfect項目模板:

git clone https://github.com/PerfectlySoft/PerfectTemplate.git
cd PerfectTemplate

在Package.swift文件中增加依存關系:

let package = Package(
 name: "PerfectTemplate",
 targets: [],
 dependencies: [
     .Package(url:"https://github.com/PerfectlySoft/Perfect.git", versions: Version(0,0,0)..

創(chuàng)建Xcode項目:

swift package generate-xcodeproj

從Xcode中打開自動生成的PerfectTemplate.xcodeproj項目文件。

該項目會編譯然后在本地端口8181啟動一個服務器。

??注意?? 每次向項目追加依存關系時,必須要打開Swift軟件包管理器重新創(chuàng)建一個新的Xcode項目文件。注意任何對該文件的手工修改都會被丟棄。

在您的項目中聲明MongoDB

請在您的Perfect項目源程序開頭聲明并導入MongoDB函數(shù)庫:

import MongoDB
創(chuàng)建一個MongoDB數(shù)據(jù)庫連接

創(chuàng)建到MongoDB服務器連接時,需要相應的URL,內(nèi)容是IP或域名,并可選擇端口號。

確定具體的連接URL之后,參考以下例子打開連接:

let client = try! MongoClient(uri: "mongodb://localhost")

其中“l(fā)ocalhost”請自行替換為實際的服務器地址。

定義一個數(shù)據(jù)庫

一旦服務器連接成功,即可選擇具體數(shù)據(jù)庫:

let db = client.getDatabase(name: "test")
定義一個MongoDB集合D

請采用以下方式定義和操作MongoDB集合:

let collection = db.getCollection(name: "testcollection")
關閉活動的服務器連接

一旦服務器連接成功,建議采用defer塊方式進行滯后關閉

defer {
    collection.close()
    db.close()
    client.close()
}
執(zhí)行檢索

請使用find方法在集合中檢索全部有關文檔:

    let fnd = collection.find(query: BSON())

    // 初始化一個空數(shù)組用于接收格式化結(jié)果
    var arr = [String]()

    // “fnd”被定義為MongoCursor的檢索記錄游標,是可以遍歷的
    for x in fnd! {
        arr.append(x.asString)
    }

有關MongoDB Collections集合類,請參考MongoDB Collections。

長按二維碼關注Perfect 官網(wǎng)
微信號:PerfectlySoft (公司名)

如果需要幫助,請注冊我們在Slack上的中文頻道: http://perfect.ly/

更多內(nèi)容請查看 PerfeclySoft 源碼倉庫 https://github.com/PerfectlyS...
詳細內(nèi)容請點擊以下鏈接,或選擇 http://www.perfect.org 官網(wǎng)。

文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/18911.html

相關文章

  • 爬蟲與swift

    摘要:分析使用爬蟲爬取網(wǎng)站,并按事先的要求將需要的項目保存到數(shù)據(jù)庫中,然后再使用框架編寫一個服務器講數(shù)據(jù)庫中的數(shù)據(jù)讀出來,最后用編寫一個應用將數(shù)據(jù)顯示出來。實現(xiàn)爬蟲實現(xiàn)上圖是的文檔結(jié)構,下面主要介紹幾個文件。 分析 使用爬蟲爬取網(wǎng)站page,并按事先的要求將需要的項目保存到數(shù)據(jù)庫中,然后再使用python flask框架編寫一個web 服務器講數(shù)據(jù)庫中的數(shù)據(jù)讀出來,最后用swift編寫一個...

    marser 評論0 收藏0
  • 正在暑假中的《課多周刊》(第1期)

    摘要:正在暑假中的課多周刊第期我們的微信公眾號,更多精彩內(nèi)容皆在微信公眾號,歡迎關注。若有幫助,請把課多周刊推薦給你的朋友,你的支持是我們最大的動力。原理微信熱更新方案漲知識了,熱更新是以后的標配。 正在暑假中的《課多周刊》(第1期) 我們的微信公眾號:fed-talk,更多精彩內(nèi)容皆在微信公眾號,歡迎關注。 若有幫助,請把 課多周刊 推薦給你的朋友,你的支持是我們最大的動力。 遠上寒山石徑...

    liukai90 評論0 收藏0
  • 正在暑假中的《課多周刊》(第1期)

    摘要:正在暑假中的課多周刊第期我們的微信公眾號,更多精彩內(nèi)容皆在微信公眾號,歡迎關注。若有幫助,請把課多周刊推薦給你的朋友,你的支持是我們最大的動力。原理微信熱更新方案漲知識了,熱更新是以后的標配。 正在暑假中的《課多周刊》(第1期) 我們的微信公眾號:fed-talk,更多精彩內(nèi)容皆在微信公眾號,歡迎關注。 若有幫助,請把 課多周刊 推薦給你的朋友,你的支持是我們最大的動力。 遠上寒山石徑...

    yintaolaowanzi 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<