gpt4 book ai didi

javascript - 查询 Mongo 获取今天添加的所有条目(新手)

转载 作者:太空宇宙 更新时间:2023-11-04 01:54:27 26 4
gpt4 key购买 nike

我正在尝试查询 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));
},

最佳答案

如果您分享如何在数据库中存储数据,我可以帮助您进行精确查询。
从你的问题来看,我猜你正在寻找的是检索特定时间后插入的文档。
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:)

关于javascript - 查询 Mongo 获取今天添加的所有条目(新手),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48478140/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com