Inital Commit
[oweals/finalsclub.git] / node_modules / mongoose / docs / finding-documents.md
1
2 Finding documents
3 =================
4
5 Documents can be retrieved through `find`, `findOne` and `findById`. These
6 methods are executed on your `Model`s.
7
8 ## Model#find
9
10     Model.find(query, fields, options, callback)
11
12     // fields and options can be ommitted
13
14 ### Simple query:
15
16     Model.find({ 'some.value': 5 }, function(err, docs){
17       // docs is an array
18     });
19
20 ### Retrieveing only certain fields
21
22     Model.find({}, ['first', 'last'], function (err, docs){
23       // docs is an array of partially-`init`d documents
24     })
25
26 ## Model#findOne
27
28 Same as `Model#find`, but only receives a single document as second parameter:
29
30     Model.findOne({ age: 5}, function (err, doc){
31       // doc is a Document
32     });
33
34 ## Model#findById
35
36 Same as `findById`, but receives a value to search a document by their `_id`
37 key. This value is subject to casting, so it can be a hex string or a proper 
38 ObjectId.
39
40 ## count
41
42     Model.count(query, callback)
43
44 ## Query
45
46 Each of these methods returns a Query. If you don't pass a callback to these
47 methods, the Query can be continued to be modified (such as adding options,
48 fields, etc), before it's `exec`d.
49
50     var query = Model.find({});
51
52     query.where('field', 5);
53     query.limit(5);
54     query.skip(100);
55
56     // query.executed == false
57
58     query.exec (function (err, docs) {
59       // called when the `query.complete` or `query.error` are called
60       // internally
61     });
62     
63     // query.executed == true