-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmongo-queries.js
91 lines (72 loc) · 2.09 KB
/
mongo-queries.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
var Q = require('q');
var Rx = require('rx-lite');
var db = require('./schema/index')
console.log('db === ', db)
var document = function () { }
module.exports = document
document.findOne = function (model, query, projection, cb) {
db[model].findOne(query, projection).exec(function (err, doc) {
if (err) {
cb(err, null)
} else {
cb(null, doc)
}
});
}
document.findOnePromise = Q.denodeify(document.findOne);
document.save = function (model, query, cb) {
db[model].create(query, function (err, doc) {
if (err) {
cb(err, null)
} else {
cb(null, doc)
}
});
}
document.savePromise = Q.denodeify(document.save);
document.find = function (model, query, projection, cb) {
console.log('query', query);
db[model].find(query, projection).exec(function (err, docs) {
console.log(err, docs)
if (err) {
cb(err, null)
} else {
cb(null, docs)
}
});
}
document.findPromise = Q.denodeify(document.find);
document.aggregation = function (model, query, cb) {
console.log('query', query)
db[model].aggregate(query).exec(function (err, docs) {
if (err) {
cb(err, null)
} else {
cb(null, docs)
}
});
}
document.aggregationPromise = Q.denodeify(document.aggregation);
document.findOneAndUpdate = function (model, query, doc, option, cb) {
console.log('query', query)
db[model].findOneAndUpdate(query, doc, option).exec(function (err, docs) {
if (err) {
cb(err, null)
} else {
cb(null, docs)
}
});
}
document.findOneAndUpdatePromise = Q.denodeify(document.findOneAndUpdate);
document.updateOne = function (model, query, doc, option, cb) {
console.log('query', query);
db[model].updateOne(query, doc, option).exec(function (err, docs) {
console.log(err, docs)
if (err) {
cb(err, null)
} else {
cb(null, docs)
}
});
}
document.updateOnePromise = Q.denodeify(document.updateOne);