Server 용 Swift 로 MongoDB 연동하기

먼저 서버에서 해당 폴더를 생성한다.
$ mkdir mongoSwift
$ cd mongoSwift

이제 스위프트 패키지을 이용해서 기본 파일들을 생성한다.
$ swift package init --type=executable

패키지 내용에 몽고키튼을 추가한다.
Package.swift 파일 수정

import PackageDescription

let package = Package(
    name: "mongoSwift",
    dependencies: [.package(url: "https://github.com/OpenKitten/MongoKitten.git", from: "4.0.0"),],
    targets: [.target(name: "mongoSwift", dependencies: ["MongoKitten"])]
)

패키지를 업데이트하면 설정된 몽고키튼의 파일들을 다운로드 받는다.
$ swift package update

이제 엑스코드용 파일을 생성한다.
$ swift package generate-xcodeproj

xcode 에서 파일을 열어서 수정하면 된다.

import MongoKitten

let server = try Server("mongodb://localhost:27017")
let database = server["packet_db"]

if server.isConnected {
    print("Connected successfully to server")
}

let collection = database["tcp_collection"]

for document in try collection.find() {
    print(document)
}

몽고디비 검색 방법
db.tcp_collection.find({name: {$regex: "sd"}}) <- name 키값에 sd가 포함되어 있는 것을 찾아라
$regex: "s" <- s가 포함되어 있는 것을 찾기
$regex: "s$" <- 끝자리가 s인 것을 찾기
$regex: "^s" <- 첫자리가 s인 것을 찾기

db.tcp_collection.find().limit(5).sort({$natural:-1})
가장 나중에 입력된 5개를 보여줘라. 이게 가장 빠름.

댓글