aboutsummaryrefslogtreecommitdiff
path: root/src/server/database.ts
diff options
context:
space:
mode:
authorTyler Schicke <tyler_schicke@brown.edu>2019-02-14 05:43:09 -0500
committerTyler Schicke <tyler_schicke@brown.edu>2019-02-14 05:43:09 -0500
commit4bcc62fd164c5ee6c4fc50077753ba7d969478e3 (patch)
treed3a0a7ffc657ef890e640c52dd1e906bf19701c0 /src/server/database.ts
parent4eb4ef6e073652661dcfa30597f63e93058fb876 (diff)
Got almost all of collaboration and server communication working
Diffstat (limited to 'src/server/database.ts')
-rw-r--r--src/server/database.ts25
1 files changed, 21 insertions, 4 deletions
diff --git a/src/server/database.ts b/src/server/database.ts
index 282238327..51103520e 100644
--- a/src/server/database.ts
+++ b/src/server/database.ts
@@ -12,7 +12,9 @@ export class Database {
public update(id: string, value: any) {
this.MongoClient.connect(this.url, { bufferMaxEntries: 1 }, (err, db) => {
let collection = db.db().collection('documents');
- collection.update({ _id: id }, { $set: value });
+ collection.update({ _id: id }, { $set: value }, {
+ upsert: true
+ });
db.close();
});
}
@@ -34,15 +36,12 @@ export class Database {
public insert(kvpairs: any) {
this.MongoClient.connect(this.url, { bufferMaxEntries: 1 }, (err, db) => {
- // console.log(kvpairs)
let collection = db.db().collection('documents');
collection.insertOne(kvpairs, (err: any, res: any) => {
if (err) {
// console.log(err)
return
}
- // console.log(kvpairs)
- // console.log("1 document inserted")
});
db.close();
});
@@ -69,6 +68,24 @@ export class Database {
});
}
+ public getDocuments(ids: string[], fn: (res: any) => void) {
+ var result: JSON;
+ this.MongoClient.connect(this.url, {
+ bufferMaxEntries: 1
+ }, (err, db) => {
+ if (err) {
+ console.log(err)
+ return undefined
+ }
+ let collection = db.db().collection('documents');
+ let cursor = collection.find({ _id: { "$in": ids } })
+ cursor.toArray((err, docs) => {
+ fn(docs);
+ })
+ db.close();
+ });
+ }
+
public print() {
console.log("db says hi!")
}