VMongo mongo drive for vlang
Dependencies
- libmongoc
- libbson
Modules
Examples
-
connect to mongo
uri := 'mongodb:https://127.0.0.1:27017' mongo.initialize() mongo_uri := mongo.uri_new(uri) client := mongo.client_new_from_uri(mongo_uri)
-
select database
database := mongo.client_get_database(client, 'db_name')
-
select collection
collection := mongo.client_get_collection(client, 'db_name', 'collection_name')
-
create new BSON document
bson_document := bson.new()
-
append bool field to BSON document
bson.append_bool(bson_document, 'key' false)
you can add field of any type you want, checkout here
-
insert one document
uri := 'mongodb:https://127.0.0.1:27017' mongo.initialize() mongo_uri := mongo.uri_new(uri) client := mongo.client_new_from_uri(mongo_uri) collection := mongo.client_get_collection(client, 'db_name', 'collection_name') bson_document := bson.new() bson.append_bool(bson_document, 'key' false) mongo.collection_insert_one (collection, bson_document)
-
find documents by query
query := bson.new() bson_doc := bson.new() bson.append_bool(query, 'bool', true) cursor := mongo.collection_find_with_opts(collection, query) for mongo.cursor_next(cursor, &bson_doc) { str := bson.as_canonical_extended_json(bson_doc) println(str) }
-
initialize BSON from JSON 😍
bson_doc := bson.new() json_doc := '{"heeey": "howudoinggggg =)"}' bson.init_from_json(bson_doc, json_doc)
-
update value by selector and update 🐸
selector := bson.new() update := bson.new() bson.init_from_json(selector, '{"key":"value1"}') bson.init_from_json(update, '{"\$set":{"value":"key1"}}') mongo.collection_update_one(collection, selector, update)