Skip to content

Instantly share code, notes, and snippets.

@rikyperdana
Last active January 13, 2019 15:48
Show Gist options
  • Select an option

  • Save rikyperdana/397e90c161b10b7d06fd71b526f49d54 to your computer and use it in GitHub Desktop.

Select an option

Save rikyperdana/397e90c161b10b7d06fd71b526f49d54 to your computer and use it in GitHub Desktop.
Play with LiveScript and Mongo Aggregate
/*
lsc -wc aggregate.ls
mongo localhost:27017/dbname
*/
# Daftar antrian bayar pasien
printjson (._firstBatch) db.pasien.aggregate pipe =
a = $match: rawat: $elemMatch: billRegis: $ne: true
b = $unwind: \$rawat
c = $project:
no_mr: 1
nama_lengkap: \$regis.nama_lengkap
idrawat: \$rawat.idrawat
klinik: \$rawat.klinik
tanggal: \$rawat.tanggal
# Daftar antrian poli bagi perawat/dokter
printjson (._firstBatch) db.pasien.aggregate pipe =
a = $match: rawat: $elemMatch: anamesa_perawat: $exists: false
b = $unwind: \$rawat
c = $match: $and: arr =
i = $or: list =
p = 'rawat.billRegis': $eq: true
q = 'rawat.cara_bayar': $ne: 1
j = 'rawat.anamesa_perawat': $exists: false
k = 'rawat.klinik': $eq: 1
# Daftar antrian pembayaran tindakan
printjson (._firstBatch) db.pasien.aggregate pipe =
a = $match: rawat: $elemMatch: $and: arr =
i = tindakan: $exists: true
j = status_bayar: $ne: true
b = $unwind: \$rawat
c = $project:
no_mr: 1
nama_lengkap: \$regis.nama_lengkap
tanggal: \$rawat.tanggal
klinik: \$rawat.klinik
tindakan: \$rawat.tindakan
printjson (._firstBatch) db.pasien.aggregate pipe =
a = $match: rawat: $elemMatch: obat:
$elemMatch: hasil: $exists: false
b = $unwind: \$rawat
c = $match: $and: arr =
i = $or: list =
p = 'rawat.status_bayar': $eq: true
q = 'rawat.cara_bayar': $ne: 1
j = 'rawat.obat': $elemMatch: hasil: $exists: false
d = $project:
no_mr: 1
nama_lengkap: \$regis.nama_lengkap
klinik: \$rawat.klinik
tanggal: \$rawat.tanggal
obat: \$rawat.obat
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment