Mongo 的 Dayjs 到 JS 日期
Dayjs to JS Date for Mongo
我需要在 NodeJS 中解析用户提供的日期。我找到了说明使用内置 Date constructor/parse 方法不可靠的答案,我应该使用像 Moment 这样的库。我对有 Moment 和 MomentJS 库感到困惑,发现有一个小型库 DaysJS 具有相同的界面。解析工作正常,但我找不到如何获取我需要传递给 Mongo 的 JS Date 对象的方法。除了提取 unix 毫秒并将其传递给 Date 构造函数之外,还有其他方法吗?
当我将 daysjs 实例传递给 Mongo NodeJS 驱动程序时,它失败了:
const day = dayjs('2020-01-02', 'YYYY-MM-DD');
2020-06-07 10:42:33:093 [error]: Request failedThe dollar ($) prefixed field '$L' in 'info.date.$L' is not valid for storage.
这似乎有效:
let publishDate = new Date(1000 * dayjs().unix());
daysjs用Mongo的正确方法吗?
你得到的错误是因为你试图将 DayJS
对象传递给 mongodb,它不支持。
您可以将 javascript Date
对象传递给 mongodb。为了将 DayJS
对象转换为普通 javascript Date
对象,您可以在 DayJS
对象
上使用 .toDate()
dayjs('2020-01-02', 'YYYY-MM-DD').toDate()
我需要在 NodeJS 中解析用户提供的日期。我找到了说明使用内置 Date constructor/parse 方法不可靠的答案,我应该使用像 Moment 这样的库。我对有 Moment 和 MomentJS 库感到困惑,发现有一个小型库 DaysJS 具有相同的界面。解析工作正常,但我找不到如何获取我需要传递给 Mongo 的 JS Date 对象的方法。除了提取 unix 毫秒并将其传递给 Date 构造函数之外,还有其他方法吗?
当我将 daysjs 实例传递给 Mongo NodeJS 驱动程序时,它失败了:
const day = dayjs('2020-01-02', 'YYYY-MM-DD');
2020-06-07 10:42:33:093 [error]: Request failedThe dollar ($) prefixed field '$L' in 'info.date.$L' is not valid for storage.
这似乎有效:
let publishDate = new Date(1000 * dayjs().unix());
daysjs用Mongo的正确方法吗?
你得到的错误是因为你试图将 DayJS
对象传递给 mongodb,它不支持。
您可以将 javascript Date
对象传递给 mongodb。为了将 DayJS
对象转换为普通 javascript Date
对象,您可以在 DayJS
对象
.toDate()
dayjs('2020-01-02', 'YYYY-MM-DD').toDate()