-
Notifications
You must be signed in to change notification settings - Fork 0
/
mongotest.js
73 lines (69 loc) · 3 KB
/
mongotest.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
var fs = require("fs"),
mime = require("./mimeTypeHelper.js"),
Pcache = require("./parasoupCache.js"),
Cache = require("./mongocache.js");
var a = {};
var options = { mongodb: { host: '127.0.0.1', port: 27017 } };
var printError = function(err) {
console.log(err.message);
console.log(err.stack);
};
console.log("connecting");
var fileName = "" + parseInt(Math.random() * 1000) + "test.txt";
var pcache = new Pcache(options, function(err, pcache) {
if (err) {
printError(err);
} else {
var cache = new Cache(options, function(err, api) {
if (err) {
printError(err);
} else {
console.log("connected");
var data = "<html></html>";
mime.getBufferMimeType(new Buffer(data), function(err, type) {
if (err) {
printError(err);
} else {
console.log("write type: " + type);
api.insertFileBuffer(
fileName,
data,
type,
function() {
console.log("write done");
api.getFileBufferAndType(
fileName,
function(err, data, type) {
if (err) {
printError(err);
} else {
console.log("read: " + data);
console.log("read type: " + type);
pcache.insert(fileName, function(err, file) {
if (err) {
printError(err);
} else {
console.log("inserted " + fileName);
pcache.getAndRemoveItem(function(err, file) {
if (err) {
printError(err);
} else {
console.log("got " + file);
process.exit(0);
}
});
}
});
}
}
);
}
);
}
});
a.api = api;
}
});
}
});
module.exports = a;