首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ISODate in --查询文件

ISODate in --查询文件
EN

Stack Overflow用户
提问于 2016-06-16 08:54:02
回答 1查看 983关注 0票数 0

.sh文件中,我使用下面的mongodump代码根据日期转储记录:

代码语言:javascript
复制
$MONGODUMP_PATH -h $MONGO_HOST:$MONGO_PORT 
-d $MONGO_DATABASE  -c $MONGO_COLLECTION 
--queryFile subset.json

subset.json

代码语言:javascript
复制
{ "TheDate": { "$gte": new Date(new Date().setDate(new Date().getDate() - 1)) } }

这不起作用,并产生一个错误:

代码语言:javascript
复制
Failed: error parsing query as json: invalid character '.' after constructor argument

但是,如果我将subset.json更改为包含一个静态日期值,它可以工作:

代码语言:javascript
复制
{ "TheDate": { "$gte": ISODate("2016-06-14T07:12:23.051Z") } }

与以前一样,ISODate("2016-06-14T07:12:23.051Z")等于new Date(new Date().setDate(new Date().getDate() - 1))

但是,我需要一个日期的动态值,就像第一种情况一样。一直在网上寻找解决方案,但找不到任何.

有什么想法吗?诚挚的问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-30 13:44:17

希望它能为我工作!

问题是您的查询不是有效的JSON,因为它包含要计算的JS表达式(用日期计算)。

此外,我还创建了类似于节点的文件query.js,该文件实质上创建了查询JSON并将其写入控制台。

var oid =Math.floor(新日期(新日期().getTime()- 1000 * 60 * 60 * 24) / 1000).toString(16) + "0000000000000000";

console.log({ "_id":{ "$gte":new ObjectId("‘+ oid + '") } }');

以便您现在可以在您的shell中使用它,如下所示

mongoexport .-查询“$(节点query.js)”.

请参阅以下连结,

Find 15 mins data with ObjectID field

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37854349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档