Leo*_*rak 2 mongodb node.js dayjs
我需要在 NodeJS 中解析用户提供的日期。我发现答案指出使用内置的 Date 构造函数/解析方法并不可靠,我应该使用一些像 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.
Run Code Online (Sandbox Code Playgroud)
这似乎有效:
let publishDate = new Date(1000 * dayjs().unix());
Run Code Online (Sandbox Code Playgroud)
这是daysjs与Mongo的正确方式吗?
您收到的错误是因为您尝试将DayJS对象传递给 mongodb,但 mongodb 不支持该对象。
您可以将 javascriptDate对象传递给 mongodb。为了将DayJS对象转换为纯 JavaScript对象,您可以在该对象上Date使用.toDate()DayJS
dayjs('2020-01-02', 'YYYY-MM-DD').toDate()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9527 次 |
| 最近记录: |