资讯专栏INFORMATION COLUMN

Swift 如何访问 MongoDB

Hujiawei / 1156人阅读

摘要:注意每次向项目追加依存关系时,必须要打开软件包管理器重新创建一个新的项目文件。

Perfect 开源项目 参与 Perfect 开发 Slack 在线协同

MongoDB

MongoDB库函数是在mongo-c语言库的基础上封装而成,能够为Swift轻松访问MongoDB服务器提供便利。

该工具库软件包是由Swift软件包管理器编译而来,是
Perfect项目的组成部分,
被设计为可以独立使用,不依赖PerfectLib或其它任何组件。

请确保安装并激活了最新版本的Swift 3.0 toolchain。

不同操作系统平台的准备工作 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

确保已经安装了libmongoc。

sudo apt-get install libmongoc
在您的项目里引用MongoDB Driver驱动

请在Package.swift增加对该驱动的依存关系。

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

关于如何在您的项目中使用Perfect函数库,详见参考手册《使用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)..

创建Xcode项目:

swift package generate-xcodeproj

从Xcode中打开自动生成的PerfectTemplate.xcodeproj项目文件。

该项目会编译然后在本地端口8181启动一个服务器。

⚠️注意⚠️ 每次向项目追加依存关系时,必须要打开Swift软件包管理器重新创建一个新的Xcode项目文件。注意任何对该文件的手工修改都会被丢弃。

在您的项目中声明MongoDB

请在您的Perfect项目源程序开头声明并导入MongoDB函数库:

import MongoDB
创建一个MongoDB数据库连接

创建到MongoDB服务器连接时,需要相应的URL,内容是IP或域名,并可选择端口号。

确定具体的连接URL之后,参考以下例子打开连接:

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

其中“localhost”请自行替换为实际的服务器地址。

定义一个数据库

一旦服务器连接成功,即可选择具体数据库:

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

请采用以下方式定义和操作MongoDB集合:

let collection = db.getCollection(name: "testcollection")
关闭活动的服务器连接

一旦服务器连接成功,建议采用defer块方式进行滞后关闭

defer {
    collection.close()
    db.close()
    client.close()
}
执行检索

请使用find方法在集合中检索全部有关文档:

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

    // 初始化一个空数组用于接收格式化结果
    var arr = [String]()

    // “fnd”被定义为MongoCursor的检索记录游标,是可以遍历的
    for x in fnd! {
        arr.append(x.asString)
    }

有关MongoDB Collections集合类,请参考MongoDB Collections。

长按二维码关注Perfect 官网
微信号:PerfectlySoft (公司名)

如果需要帮助,请注册我们在Slack上的中文频道: http://perfect.ly/

更多内容请查看 PerfeclySoft 源码仓库 https://github.com/PerfectlyS...
详细内容请点击以下链接,或选择 http://www.perfect.org 官网。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/18911.html

相关文章

  • 爬虫与swift

    摘要:分析使用爬虫爬取网站,并按事先的要求将需要的项目保存到数据库中,然后再使用框架编写一个服务器讲数据库中的数据读出来,最后用编写一个应用将数据显示出来。实现爬虫实现上图是的文档结构,下面主要介绍几个文件。 分析 使用爬虫爬取网站page,并按事先的要求将需要的项目保存到数据库中,然后再使用python flask框架编写一个web 服务器讲数据库中的数据读出来,最后用swift编写一个...

    marser 评论0 收藏0
  • 正在暑假中的《课多周刊》(第1期)

    摘要:正在暑假中的课多周刊第期我们的微信公众号,更多精彩内容皆在微信公众号,欢迎关注。若有帮助,请把课多周刊推荐给你的朋友,你的支持是我们最大的动力。原理微信热更新方案涨知识了,热更新是以后的标配。 正在暑假中的《课多周刊》(第1期) 我们的微信公众号:fed-talk,更多精彩内容皆在微信公众号,欢迎关注。 若有帮助,请把 课多周刊 推荐给你的朋友,你的支持是我们最大的动力。 远上寒山石径...

    liukai90 评论0 收藏0
  • 正在暑假中的《课多周刊》(第1期)

    摘要:正在暑假中的课多周刊第期我们的微信公众号,更多精彩内容皆在微信公众号,欢迎关注。若有帮助,请把课多周刊推荐给你的朋友,你的支持是我们最大的动力。原理微信热更新方案涨知识了,热更新是以后的标配。 正在暑假中的《课多周刊》(第1期) 我们的微信公众号:fed-talk,更多精彩内容皆在微信公众号,欢迎关注。 若有帮助,请把 课多周刊 推荐给你的朋友,你的支持是我们最大的动力。 远上寒山石径...

    yintaolaowanzi 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<