Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kimvex/mongodb-crystal
Library for use of MongoDB driver
https://github.com/kimvex/mongodb-crystal
crystal crystal-lang mongo mongodb
Last synced: 6 days ago
JSON representation
Library for use of MongoDB driver
- Host: GitHub
- URL: https://github.com/kimvex/mongodb-crystal
- Owner: kimvex
- License: mit
- Created: 2019-03-31T08:21:53.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-04-21T06:56:11.000Z (over 4 years ago)
- Last Synced: 2024-11-02T13:34:01.832Z (13 days ago)
- Topics: crystal, crystal-lang, mongo, mongodb
- Language: Crystal
- Homepage:
- Size: 135 KB
- Stars: 15
- Watchers: 2
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mongodb-crystal
This repository is a fork of [datanoise/mongo.cr](https://github.com/datanoise/mongo.cr) to keep the Mongo db connection library up-to-date
This library provides binding for MongoDB C Driver. The goal is to provide a driver to access MongoDB.
# Status
_Beta_
# Requirements
- Crystal language version 0.27.2 and higher.
- libmongoc version 1.15.0
- libbson verion 1.15.0On Mac OSX use `homebrew` to install the required libraries:
```
$ brew install mongo-c
```On Linux you need to install `libmongoc-1.15-1` and `libbson-1.15-1` from your package manager or from source:
[http://mongoc.org/libmongoc/current/installing.html](http://mongoc.org/libmongoc/current/installing.html)
On Linux/Ubuntu
```
sudo apt install libmongoc-dev libmongoc-1.0-0 libmongoclient-dev
```## Installation
Add this to your application's `shard.yml`:
```yaml
mongo:
github: kimvex/mongodb-crystal
branch: master
```# Usage
```crystal
require "mongo"client = Mongo::Client.new "mongodb://:@:/"
db = client["db_name"]collection = db["collection_name"]
collection.insert({ "name" => "James Bond", "age" => 37 })collection.find({ "age" => { "$gt" => 30 } }) do |doc|
puts typeof(doc) # => BSON
puts doc
end
```# License
MIT clause - see LICENSE for more details.