我试图查询Mongo今天添加的所有条目。例如,如果我在上午9点添加了一些东西,我只想回来,而不是在昨晚9点添加的东西。
我不确定如何正确格式化查询。
const db = require('../models');
const now = new Date();
const startOfToday = new Date(now.getFullYear(), now.getMonth(), now.getDate());
// Defining methods for the mealsController
module.exports = {
find(req, res) {
db
.Meal
.find({created_on: {$gte: startOfToday}})
},
findAll(req, res) {
db
.Meal
.find(req.query)
.sort({ date: -1 })
.then(dbModel => res.json(dbModel))
.catch(err => res.status(422).json(err));
},
findById(req, res) {
db
.Meal
.findById(req.params.id)
.then(dbModel => res.json(dbModel))
.catch(err => res.status(422).json(err));
},
答案 0 :(得分:0)
如果您分享如何在db中存储数据,我可以帮助您进行精确查询
从你的问题来看,我猜你正在寻找的是检索一段时间后插入的文件
在这种情况下,ObjectId.getTimestamp()
会对您有所帮助。在Mongo中,每个插入都有一个与之关联的时间戳。例如。
ObjectId("5a6d75590827a11b6016f470").getTimestamp()
返回
ISODate("2018-01-28T07:01:45Z")
要获取文档的对象ID,var a = db.collection.find(<condition>).toArray();
a[0]._id
然后打印ObjectId("5a6d75560827a11b6016f46e")
因此,您可以比较在特定日期或时间之后插入的文档。
GL :))