async deleteFile(filename: string) { const bucket = await this._getBucket(); const documents = await bucket.find({ filename }).toArray(); if (documents.length === 0) { throw new Error('FileNotFound'); } return Promise.all( documents.map((doc) => { return bucket.delete(doc._id); }) ); }
it('properly overrides files', async () => { const gfsAdapter = new GridFSBucketAdapter(databaseURI); await gfsAdapter.createFile('myFileName', 'a simple file'); await gfsAdapter.createFile('myFileName', 'an overrided simple file'); const data = await gfsAdapter.getFileData('myFileName'); expect(data.toString('utf8')).toBe('an overrided simple file'); const bucket = await gfsAdapter._getBucket(); const documents = await bucket.find({ filename: 'myFileName' }).toArray(); expect(documents.length).toBe(2); await gfsAdapter.deleteFile('myFileName'); await expectMissingFile(gfsAdapter, 'myFileName'); });
MongoClient.connect('mongodb://localhost:27017/admin', {useNewUrlParser: true}, (err, mconn) => { if(err) { console.error(err) process.exit(1) } torrentdb = mconn.db('torrent') torrentdb.collection('log').createIndex({date: 1, reqs: -1}) torrentdb.collection('log').createIndex({hash: 1}) torrentdb.collection('hash').createIndex({hash: 1}, {unique: 1}) torrentdb.collection('hash').find().sort({_id: -1}).limit(1).next((err, r) => { nextTorrentId = (r && r._id || 0) + 1 console.log('Next torrent _id is', nextTorrentId, 'tableCaption', process.env.TABLE_CAPTION) }) })
const stream = torrentdb.collection('hash').find().stream() const d = [] stream.on('error', (err) => { console.error(err) }) const catHash = {} stream.on('data', (doc) => { const name = doc.name.replace(/"/g, '') let cat = catHash[doc.cat] d.push(line) if(d.length >= 1000){ stream.pause() process.stdout.write(d.join(''), ()=> { d.length = 0 stream.resume() }) stream.on('finish', () => { process.stdout.write(d.join(''), ()=> { mconn.close()
const files = await bucket.find({ filename }).toArray();
const stream = torrentdb.collection('log').find({date: process.env.DATE}).stream() const d = [] let ii = 0 stream.on('error', (err) => { console.error(err) }) stream.on('data', (doc) => { d.push({ updateOne: { ii += 1 if(d.length >= 100000) { stream.pause() console.log(ii) torrentdb.collection('hash').bulkWrite(d, (err, r) => { }else{ d.length = 0 stream.resume() stream.on('finish', () => { if(d.length > 0) { torrentdb.collection('hash').bulkWrite(d, (err) => {
async getMetadata(filename) { const bucket = await this._getBucket(); const files = await bucket.find({ filename }).toArray(); if (files.length === 0) { return {}; } const { metadata } = files[0]; return { metadata }; }
mongoose.connection.db.collection('experiences', function (err, collection) { if (err) throw err; collection.find({}).toArray(function (err, experiences) { res.send(experiences) }); });
// // Data access methods for feedback documents // listFeedbackForEventTopic(eventid, topicid) { return this.db.collection(this.FEEDBACK_COLLECTION).find({$and: [{event: eventid}, {topic: topicid}]}).toArray(); }
async function find(collectionname,json) { const client = new MongoClient(url, {useUnifiedTopology: true}); await client.connect(); const col = client.db("spider").collection(collectionname); const result = await col.find(json).toArray(); client.close(); return result; }
async getSignups(param,options){ if (!param.season){ param.season = "season 15"; } return await this.signups.find(param,options).toArray(); }
// // Data access methods for event documents // queryEvents(query) { return this.db.collection(this.EVENT_COLLECTION).find(query).toArray(); }
async deleteFile(filename) { const bucket = await this._getBucket(); const documents = await bucket.find({ filename }).toArray(); if (documents.length === 0) { throw new Error('FileNotFound'); } return Promise.all(documents.map(doc => { return bucket.delete(doc._id); })); }
async getMetadata(filename) { const bucket = await this._getBucket(); const files = await bucket.find({ filename }).toArray(); if (files.length === 0) { return {}; } const { metadata } = files[0]; return { metadata }; }
async handleFileStream(filename: string, req, res, contentType) { const bucket = await this._getBucket(); const files = await bucket.find({ filename }).toArray(); if (files.length === 0) { throw new Error('FileNotFound');