node.js - 使用日期类型的猫鼬查询
问题描述
我正在尝试将请求正文中的参数转换为猫鼬查询,以mongodb
获取"lastUpdated"
大于"2018-04-03T08:01:19.269Z"
. 我通过邮递员在正文中使用参数发布请求
{
"checkedOut" : false,
"valid" : false,
"language" : "en",
"lastUpdated" : "2018-04-03T08:01:19.269Z",
"__v" : 0
}
该响应在响应"lastUpdated"
等于的数据方面效果很好"2018-04-03T08:01:19.269Z"
。我在我的代码中编写了一个函数:
for (const key in params) {
if (key === "lastUpdated") {
params[key] = {$gte : value};
}
}
return params
所以我得到了一个新的查询:
{ checkedOut: false,
valid: false,
language: 'en',
lastUpdated: { '$gte': '2018-04-03T08:01:19.269Z' },
__v: 0
}
但它仍然不起作用......请帮助......
解决方案
在您的情况下value
是一个字符串,因此您应该通过以下方式将其转换为日期:
for (const key in params) {
if (key === "lastUpdated") {
params[key] = {$gte : new Date(value)};
}
}
return params
这样 mongoDB 会比较dates with valid date
。
推荐阅读
- c# - 如何在 C# 中为我的结构重载 Double.Equals()?
- python - 为什么 VS Code + Anaconda 在 Windows 上这么慢
- webview - python 龙卷风网络服务器 + pywebview
- vb.net - 如何将一个程序输入到另一个程序中
- r - 将 ts 对象转换为 data.frame 并保留行名和列名
- c++ - 在客户端和服务器之间序列化复杂的 C++ 结构
- html - 使用“data-*”属性替换 HTML 标记中的“id”属性以用于 CSS 选择目的
- python - 在 Python 中的 if 语句中分组条件的正确语法是什么?
- javascript - 在 Android Xamarin CrossWalk Webview 中从 Javascript 调用 C# 函数
- assembly - YASM:指令 movsx 拒绝操作数大小的 dword?