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)..<Version(10,0)),.Package(url:"https://github.com/PerfectlySoft/Perfect-MongoDB.git",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 官网。

Swift 如何访问 MongoDB的更多相关文章

  1. Swift 如何访问 MongoDB

    Perfect开源项目参与Perfect开发Slack在线协同MongoDBMongoDB库函数是在mongo-c语言库的基础上封装而成,能够为Swift轻松访问MongoDB服务器提供便利。请确保安装并激活了最新版本的Swift3.0toolchain。注意每次向项目追加依存关系时,必须要打开Swift软件包管理器重新创建一个新的Xcode项目文件。在您的项目中声明MongoDB请在您的Perfect项目源程序开头声明并导入MongoDB函数库:创建一个MongoDB数据库连接创建到MongoDB服务器

  2. TP5(thinkPHP5)框架mongodb扩展安装及特殊操作示例

    这篇文章主要介绍了TP5(thinkPHP5)框架mongodb扩展安装及特殊操作,结合实例形式分析了MongoDB扩展的基本安装、配置、模型操作以及使用Push操作实现的数据添加、更新等方法,需要的朋友可以参考下

  3. Node.js和MongoDB实现简单日志分析系统

    这篇文章主要介绍了Node.js和MongoDB实现简单日志分析系统,本文给出了服务器端、客户端、图表生成、Shell自动执行等功能的实现代码,需要的朋友可以参考下

  4. Laravel框架中集成MongoDB和使用详解

    今天小编就为大家分享一篇Laravel框架中集成MongoDB和使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

  5. Node.js中使用mongoskin操作mongoDB实例

    这篇文章主要介绍了Node.js中使用mongoskin操作mongoDB实例,Mongous是一个轻量级的nodejs mongodb驱动,需要的朋友可以参考下

  6. Node.js中使用mongoose操作mongodb数据库的方法

    如何利用mongoose将数据写入mongodb数据库呢?操作方法很简单,下面小编给大家分享Node.js中使用mongoose操作mongodb数据库的方法,感兴趣的朋友一起看看吧

  7. php如何利用pecl安装mongodb扩展详解

    这篇文章主要给大家介绍了关于php如何利用pecl安装mongodb扩展的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  8. SpringBoot MongoDB详细使用教程

    这篇文章主要介绍了SpringBoot整合Mongodb实现简单的增删查改,MongoDB是一个以分布式数据库为核心的数据库,因此高可用性、横向扩展和地理分布是内置的,并且易于使用。况且,MongoDB是免费的,开源的,感兴趣的朋友跟随小编一起看看吧

  9. CentOS上安装Node.js和mongodb笔记

    这篇文章主要介绍了CentOS上安装Node.js和mongodb笔记,本文讲解了Python安装、Node.js安装、npm安装、mongodb驱动安装、mongodb数据库操作测试代码等内容,需要的朋友可以参考下

  10. php7安装mongoDB扩展的方法分析

    这篇文章主要介绍了php7安装mongoDB扩展的方法,简单分析了php7安装MongoDB扩展的步骤与相关配置操作技巧,需要的朋友可以参考下

随机推荐

  1. Swift UITextField,UITextView,UISegmentedControl,UISwitch

    下面我们通过一个demo来简单的实现下这些控件的功能.首先,我们拖将这几个控件拖到storyboard,并关联上相应的属性和动作.如图:关联上属性和动作后,看看实现的代码:

  2. swift UISlider,UIStepper

    我们用两个label来显示slider和stepper的值.再用张图片来显示改变stepper值的效果.首先,这三个控件需要全局变量声明如下然后,我们对所有的控件做个简单的布局:最后,当slider的值改变时,我们用一个label来显示值的变化,同样,用另一个label来显示stepper值的变化,并改变图片的大小:实现效果如下:

  3. preferredFontForTextStyle字体设置之更改

    即:

  4. Swift没有异常处理,遇到功能性错误怎么办?

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  5. 字典实战和UIKit初探

    ios中数组和字典的应用Applicationschedule类别子项类别名称优先级数据包contactsentertainment接触UIKit学习用Swift调用CocoaTouchimportUIKitletcolors=[]varbackView=UIView(frame:CGRectMake(0.0,0.0,320.0,CGFloat(colors.count*50)))backView

  6. swift语言IOS8开发战记21 Core Data2

    上一话中我们简单地介绍了一些coredata的基本知识,这一话我们通过编程来实现coredata的使用。还记得我们在coredata中定义的那个Model么,上面这段代码会加载这个Model。定义完方法之后,我们对coredata的准备都已经完成了。最后强调一点,coredata并不是数据库,它只是一个框架,协助我们进行数据库操作,它并不关心我们把数据存到哪里。

  7. swift语言IOS8开发战记22 Core Data3

    上一话我们定义了与coredata有关的变量和方法,做足了准备工作,这一话我们来试试能不能成功。首先打开上一话中生成的Info类,在其中引用头文件的地方添加一个@objc,不然后面会报错,我也不知道为什么。

  8. swift实战小程序1天气预报

    在有一定swift基础的情况下,让我们来做一些小程序练练手,今天来试试做一个简单地天气预报。然后在btnpressed方法中依旧增加loadWeather方法.在loadWeather方法中加上信息的显示语句:运行一下看看效果,如图:虽然显示出来了,但是我们的text是可编辑状态的,在storyboard中勾选Editable,再次运行:大功告成,而且现在每次单击按钮,就会重新请求天气情况,大家也来试试吧。

  9. 【iOS学习01】swift ? and !  的学习

    如果不初始化就会报错。

  10. swift语言IOS8开发战记23 Core Data4

    接着我们需要把我们的Rest类变成一个被coredata管理的类,点开Rest类,作如下修改:关键字@NSManaged的作用是与实体中对应的属性通信,BinaryData对应的类型是NSData,CoreData没有布尔属性,只能用0和1来区分。进行如下操作,输入类名:建立好之后因为我们之前写的代码有些地方并不适用于coredata,所以编译器会报错,现在来一一解决。

返回
顶部