rmongodb (version 1.8.0)

mongo.find: Find records in a collection

Description

Find records in a collection that match a given query.

Usage

mongo.find(mongo, ns, query = mongo.bson.empty(), sort = mongo.bson.empty(),
  fields = mongo.bson.empty(), limit = 0L, skip = 0L, options = 0L)

Arguments

mongo
(mongo) a mongo connection object.
ns
(string) namespace of the collection from which to find records.
query
(mongo.bson) The criteria with which to match the records to be found. The default of mongo.bson.empty() will cause the the very first record in the collection to be returned.

Alternately, query may be

sort
(mongo.bson) The desired fields by which to sort the returned records. The default of mongo.bson.empty() indicates that no special sorting is to be done; the records will come back in the order that indexes locate th
fields
(mongo.bson) The desired fields which are to be returned from the matching record. The default of mongo.bson.empty() will cause all fields of the matching record to be returned; however, specific fields may be speci
limit
(as.integer) The maximum number of records to be returned. A limit of 0L will return all matching records not skipped.
skip
(as.integer) The number of matching records to skip before returning subsequent matching records.
options
(integer vector) Flags governing the requested operation as follows:

Value

Details

See http://www.mongodb.org/display/DOCS/Querying.

See Also

mongo.cursor, mongo.cursor.next, mongo.cursor.value, mongo.find.one, mongo.insert, mongo.index.create, mongo.update, mongo.remove, mongo, mongo.bson.

Examples

Run this code
mongo <- mongo.create()
if (mongo.is.connected(mongo)) {
    buf <- mongo.bson.buffer.create()
    mongo.bson.buffer.append(buf, "age", 18L)
    query <- mongo.bson.from.buffer(buf)

    # Find the first 100 records
    #    in collection people of database test where age == 18
    cursor <- mongo.find(mongo, "test.people", query, limit=100L)
    # Step though the matching records and display them
    while (mongo.cursor.next(cursor))
        print(mongo.cursor.value(cursor))
    mongo.cursor.destroy(cursor)


    # shorthand: find all records where age=32, sorted by name,
    # and only return the name & address fields:
    cursor <- mongo.find(mongo, "test.people", list(age=32),
                         list(name=1L), list(name=1L, address=1L))
}

Run the code above in your browser using DataLab