3 Basic Operations
(require (planet jaymccarthy/mongodb:1:3/basic/main)) |
The basic API of MongoDB is provided by this module.
3.1 Servers
A test for Mongo servers.
(create-mongo [#:host host #:port port]) → mongo? |
host : string = "localhost" |
port : port-number? = 27017 |
Creates a connection to the specified Mongo server.
(mongo-list-databases m) → (vectorof bson-document/c) |
m : mongo? |
Returns information about the databases on a server.
Returns the names of the databases on the server.
3.2 Databases
(struct mongo-db (mongo name)) |
mongo : mongo? |
name : string? |
A structure representing a Mongo database.
Executes command cmd on the database db and returns Mongo’s response. Refer to List of Database Commands for more details.
Returns a list of collection names in the database.
| ||||||||||||||||||||
→ mongo-collection? | ||||||||||||||||||||
db : mongo-db? | ||||||||||||||||||||
name : string? | ||||||||||||||||||||
capped? : boolean? | ||||||||||||||||||||
size : number? | ||||||||||||||||||||
max : (or/c false/c number?) = #f |
Creates a new collection in the database and returns a handle to it. Refer to Capped Collections for details on the options.
(mongo-db-drop-collection! db name) → bson-document/c |
db : mongo-db? |
name : string? |
Drops a collection from the database.
Drops a database from its server.
mongo-db-profiling/c : contract? |
Returns the profiling level of the database.
(set-mongo-db-profiling! db v) → boolean? |
db : mongo-db? |
v : mongo-db-profiling/c |
Sets the profiling level of the database. Returns #t on success.
Returns the profiling information from the database. Refer to Database Profiler for more details.
Returns #t if name is a valid collection.
3.3 Collections
(struct mongo-collection (db name)) |
db : mongo-db? |
name : string? |
A structure representing a Mongo collection.
(mongo-collection-drop! mc) → void |
mc : mongo-collection? |
Drops the collection from its database.
(mongo-collection-valid? mc) → boolean? |
mc : mongo-collection? |
Returns #t if mc is a valid collection.
(mongo-collection-full-name mc) → string? |
mc : mongo-collection? |
Returns the full name of the collection.
| ||||||||||||||||||||||||||||||||
→ mongo-cursor? | ||||||||||||||||||||||||||||||||
mc : mongo-collection? | ||||||||||||||||||||||||||||||||
query : bson-document/c | ||||||||||||||||||||||||||||||||
tailable? : boolean? = #f | ||||||||||||||||||||||||||||||||
slave-okay? : boolean? = #f | ||||||||||||||||||||||||||||||||
no-timeout? : boolean? = #f | ||||||||||||||||||||||||||||||||
selector : (or/c false/c bson-document/c) = #f | ||||||||||||||||||||||||||||||||
skip : int32? = 0 | ||||||||||||||||||||||||||||||||
limit : (or/c false/c int32?) = #f |
Performs a query in the collection. Refer to Querying for more details.
If limit is #f, then a limit of 2 is sent. This is the smallest limit that creates a server-side cursor, because 1 is interpreted as -1.
(mongo-collection-insert-docs! mc docs) → void |
mc : mongo-collection? |
docs : (sequenceof bson-document/c) |
Inserts a sequence of documents into the collection.
(mongo-collection-insert-one! mc doc) → void |
mc : mongo-collection? |
doc : bson-document/c |
Insert an document into the collection.
(mongo-collection-insert! mc doc ...) → void |
mc : mongo-collection? |
doc : bson-document/c |
Inserts any number of documents into the collection.
(mongo-collection-remove! mc sel) → void |
mc : mongo-collection? |
sel : bson-document/c |
Removes documents matching the selector. Refer to Removing for more details.
(mongo-collection-modify! mc sel mod) → void |
mc : mongo-collection? |
sel : bson-document/c |
mod : bson-document/c |
Modifies all documents matching the selector according to mod. Refer to Modifier Operations for more details.
(mongo-collection-replace! mc sel doc) → void |
mc : mongo-collection? |
sel : bson-document/c |
doc : bson-document/c |
Replaces the first document matching the selector with obj.
(mongo-collection-repsert! mc sel doc) → void |
mc : mongo-collection? |
sel : bson-document/c |
doc : bson-document/c |
If a document matches the selector, it is replaced; otherwise the document is inserted. Refer to Upserts with Modifiers for more details on using modifiers.
(mongo-collection-count mc [query]) → exact-integer? |
mc : mongo-collection? |
query : bson-document/c = empty |
Returns the number of documents matching the query.
3.3.1 Indexing
Refer to Indexes for more details on indexing.
(mongo-collection-index! mc spec [name]) → void |
mc : mongo-collection? |
spec : bson-document/c |
name : string? = .... |
Creates an index of the collection. A name will be automatically generated if not specified.
Queries for index information.
Drops an index by name.
3.4 Cursors
Query results are returned as Mongo cursors.
A Mongo cursor is a sequence of BSON documents.
A test for Mongo cursors.
(mongo-cursor-done? mc) → boolean? |
mc : mongo-cursor? |
Returns #t if the cursor has no more answers. #f otherwise.
(mongo-cursor-kill! mc) → void |
mc : mongo-cursor? |
Frees the server resources for the cursor.