Estoy tratando de escribir una consulta para encontrar 2 documentos individuales fechados antes y después de hoy, necesito los valores devueltos como un cursor ya que esta es una publicación de Meteor (quizás no sea relevante).
actualmente estoy usando esto
const today = new Date(); const before = db.lesson.findOne({lsn_id:kjsflf, lsn_dt:{$lte:today}}, {limit:1}); const after = db.lesson.findOne({lsn_id:kjsflf, lsn_dt:{$gte:today}}, {limit:1});Lo ideal sería que el resultado fuera algo como esto:
return db.lesson.find({BEST QUERY EVER});Si está tratando de combinar estas dos consultas, puede intentar usar $ o de MongoDB:
db.lesson.find({ lsn_id: kjsflf, $or: [ { lsn_dt: { $lte: today }}, { lsn_dt: { $gte: today }} ]}, { limit: 2 });Esto funciona bien si solo existe un documento antes de "hoy" y un documento después de "hoy". Si hay otros documentos, recuperará los dos primeros documentos que encuentre.
https://docs.mongodb.com/manual/reference/operator/query/or/