ayanc1 / android_external_bson Goto Github PK
View Code? Open in Web Editor NEWThis project forked from lineageos/android_external_bson
This project forked from lineageos/android_external_bson
This is a very basic MongoDB c driver. This is an alpha release, please email [email protected] if you run into issues or have API suggestions. The goal is to be super strict for ultimate portability, no dependencies, and very embeddable anywhere. You will need JSON-C (http://oss.metaparadigm.com/json-c/) to compile the unit tests, but it is not required for the main libraries. Building with scons: scons # this will produce libbson.a and libmongoc.a scons --c99 # this will use c99 mode in gcc (recommended) scons test # this will compile and run the unit tests (optional) scons test --test-server=123.4.5.67 # use remote server for tests Building with gcc: gcc --std=c99 -Isrc src/*.c YOUR_APP.c # No -Ddefines are needed in c99 mode on little endien Building with MSVC: TODO #define options (you must use the same flags to compile all apps and libs): MONGO_BIG_ENDIAN This must be defined if on a big endian architecture one of these (defaults to unsigned char if neither is defined) MONGO_HAVE_BOOL Define this if your compiler has a plain 'bool' type MONGO_HAVE_STDBOOL Define this if you must include <stdbool.h> to get 'bool' one of these (required if not using c99): MONGO_HAVE_STDINT Define this if you have <stdint.h> for int64_t MONGO_HAVE_UNISTD Define this if you have <unistd.h> for int64_t MONGO_USE__INT64 Define this if '__int64' is your compiler's 64bit type (MSVC) MONGO_USE_LONG_LONG_INT Define this if 'long long int' is your compiler's 64bit type Error Handling: I'm using an exception system based on cexcept. If you would like to gracefully handle errors, take a look at src/mongo_except.h. It is currently only used for network failures, but more errors will be used in the future. TODO: building on windows more documentation checking for $err in query results query helper for sort and hint explain and profiler helpers GridFS safe-mode modifications (maybe) cached ensure_index (maybe) LICENSE 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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.