Skip to content

Instantly share code, notes, and snippets.

View mewben's full-sized avatar

Melvin Soldia mewben

View GitHub Profile
@mewben
mewben / query-with-count-mongoose.js
Created October 5, 2018 01:35
Query with $lookup count
Site.aggregate()
.lookup({
from: 'pages',
localField: '_id',
foreignField: 'siteID',
as: 'pages',
})
.addFields({ pageCount: { $size: '$pages' } }) // add pageCount field
.project({ pages: 0 }) // exclude pages array
.exec();
@mewben
mewben / nodejs-delay.js
Created October 12, 2018 05:09
Adding delay in nodejs api
const someFunction = async () => {
try {
// wait 5 sec before sending the response
await new Promise(resolve => setTimeout(() => resolve(), 5000));
return res.json({response: 'here'})
} catch (error) {
// return error
}
}
@mewben
mewben / remove_documents_mongodb.js
Created February 13, 2019 13:10 — forked from Stoffo/remove_documents_mongodb.js
Remove Documents older than x days in MongoDB
var date = new Date();
var daysToDeletion = 120;
var deletionDate = new Date(date.setDate(date.getDate() - daysToDeletion));
printjson(deletionDate);
var db = db.getSiblingDB('db')
db.getMongo().setSlaveOk();
printjson(db.messages.find({insertDate : {$lt : deletionDate}}).count());
@mewben
mewben / flutter_icon_rotate.dart
Created October 30, 2019 07:03
Flutter: Rotate Icon by 90 degrees
import 'package:flutter/material.dart';
import 'dart:math';
class RotatedIcon extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Transform.rotate(
angle: 90 * pi/180,
child: Icon(Icons.flight),
);
@mewben
mewben / building-sync-systems.md
Created December 15, 2023 15:37 — forked from pesterhazy/building-sync-systems.md
Building an offline realtime sync engine

So you want to write a sync system for a web app with offline and realtime support? Good luck. You might find the following resources useful.

Overview articles