/ObjCMongoDB

Mac OS and iOS library for MongoDB and BSON

Primary LanguageObjective-CApache License 2.0Apache-2.0

ObjCMongoDB is a Mac OS and iOS library for MongoDB and BSON based on the 10gen legacy C driver.

Build Status

Latest release

The latest release is v0.10.2.

  • Supports CocoaPods
  • Based on version 0.8.1 of the legacy C driver
  • Works under OS X 10.6+ and iOS 5+
  • Works both with and without support for ARC
git checkout v0.10.2     # since master may be a work in process
git submodule update --init

See what's changed in History.

Getting started

Refer to the installation instructions and sample code on the wiki:

Features

  • Simple BSON encoding and decoding, using dictionaries.

  • Built-in support for arrays, dictionaries, embedded objects, strings, numbers, dates, object IDs, and the miscellaneous MongoDB types.

  • More complex encoding and decoding based on NSCoder's keyed coding scheme. A robust delegate interface lets you implement encoding and decoding entirely outside the model classes if necessary.

  • Automatically encodes and decodes Core Data entities. Using the coder's delegate interface you can customize the default behavior, or simply implement alternate behavior it in the entity class.

  • Aims to feel Cocoa-like, not Mongo-like. For example, method names in MongoKeyedPredicate and MongoUpdateRequest are natural in Cocoa, though they don't conform to the underlying Mongo keywords.

License

Sources copyright Paul Melnikow, 10gen, Matthew Gallagher, and other contributors.

Unless otherwise specified in a source file, sources in this repository are published under the terms of the Apache License version 2.0, a copy of which is in this repository as APACHE-2.0.txt.

Acknowledgements