我在mongo数据库中有一个数据集,其元素如下:
INITIAL_X = 0.
我正在尝试搜索日期和全名条款。
在mongo中(在命令行上)如果我执行以下命令,我会返回一些元素:
db.collection_name.find({$ and:[{fullname:{$ regex:" ^匿名 用户$",$选项:'我' },{" date" :{" $ lt" : ISODate(" 2016-12-19T00:00:00Z")}}]})。漂亮()
当全名匹配且日期小于给定日期时。这很好,所以我知道我的数据库存储了数据,但日期和名称是硬编码的。
我正在node.js中编写一个脚本,并想出了这个:
{
"fullname" : "Anonymous User",
"date" : ISODate("2016-12-09T04:00:27Z")
}
我正在尝试在我的nodejs脚本中使用mongodb模块和这段代码:
db.collection(collection_name).find(search_term).toArray(function (错误,结果){console.log(results); });
但是当我运行我的脚本时,没有返回任何结果。没有错误消息 - 只是没有项目匹配且没有结果。
我做错了什么?
我认为这可能与日期如何存储在变量" search_term"但我不知道如何解决这个问题。例如,这有效:
db.collection(collection_name).find({$ and:[{fullname:{$ regex: " ^匿名用户$",$选项:'我' },{date:{$ lt:new Date()}}] });
这不起作用:
db.collection(collection_name).find(search_term).toArray(function (错误,结果){console.log(results); });
唯一的区别是我用" search_term"替换了find语句。
我想使用后者来避免代码重复。
答案 0 :(得分:0)
你需要像这样传递它
var today = new Date().toISOString()