gpt4 book ai didi

javascript - MongoDB, Node : Query ISODate fields with a query not build directly in find operation

转载 作者:行者123 更新时间:2023-12-02 21:09:42 24 4
gpt4 key购买 nike

我使用的是nodejs官方的mongodb driver .

我的文档的日期属性存储为 ISODate 类型。

查询是预先构建的并存储为字符串 ex。 '{createdAt: {$gte: "FROM_DATE", $lte: "TO_DATE"}}' 并与 fromDatetoDate< 的变量一起传递到服务器.

使用 json5 解析查询“FROM_DATE”new Date(fromDate) 替换,另一个也相同。

问题是 new Date(fromDate) 始终存储为字符串,我最终得到以下查询:

{createdAt: {
$gte: 'Tue Mar 10 2020 22:23:51 GMT+0100 (Central European Standard Time)',
$lte: 'Thu Apr 09 2020 22:23:51 GMT+0200 (Central European Summer Time)'
}}

作为字符串,它不会查询 ISODate 格式。

这只是因为我正在替换字符串,所以默认情况下它会作为字符串返回还是问题出在哪里?谢谢。

最佳答案

您可以在创建日期时使用 toISOString 函数,如下所示

const date = new Date('01-JAN-2020');
console.log(date)
//Wed Jan 01 2020 00:00:00 GMT-0600 (Central Standard Time)

const newDate = new Date('01-JAN-2020').toISOString();
console.log(newDate)
//2020-01-01T06:00:00.000Z

关于javascript - MongoDB, Node : Query ISODate fields with a query not build directly in find operation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61130484/

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