首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以使用ISODate()存储到ISODate字段?

是否可以使用ISODate()存储到ISODate字段?
EN

Stack Overflow用户
提问于 2014-08-21 11:06:26
回答 1查看 178关注 0票数 0

我们正在尝试使用具有第7层SecureSpan网关(SSG)的MongoDB。第七层为我们提供了一种称为自定义断言的软件,它提供了一种SSG和MongoDB之间的桥梁。这样,我们就可以用查询字符串来配置它,然后我们就可以调用它,它就会执行查询。

我们还希望使用TTL索引特性,因此我们希望为每个文档/行存储一个字段CREATED_FOR_TTL,该字段将包含日期/时间戳,并将被配置为一个MongoDB索引。

SSG具有这些称为“上下文变量”或CV的东西,并且MongoDB断言允许使用CV作为查询字符串,即,我们可以在CV中构造查询字符串,然后使用构造的CV调用自定义断言。

然而,我们遇到了一个问题,因为虽然SSG允许将CV用于查询字符串,但它不允许将CV用于MongoDB函数,尤其是,以下内容在查询字符串中不起作用:

CREATED_FOR_TTL : INFODate()

SSG确实有允许我们获取日期/时间戳并将其转换为毫秒值的函数。

然而,当我们这样做的时候:

CREATED_FOR_TTL:,例如:

CREATED_FOR_TTL: 1234567890...

我们在MongoDB中得到的是一个NumberLong(xxxxxx),而这似乎不适用于TTL索引功能。

因此,根据主题,我正在尝试找出是否有任何我们可以(例如)包含整数(即日期/时间戳,以毫秒为单位)的CV,并将其存储到字段中,以便它在MongDB和TTL索引中看起来像ISODate()?

我为这个冗长的问题道歉,但我意识到这可能是一个奇怪的问题,再加上我想提供我们为什么要寻找这个问题的背景。

谢谢,吉姆

EN

回答 1

Stack Overflow用户

发布于 2014-08-22 03:51:56

实际的服务器进程不知道ISODate()是什么。ISODate()是mongo shell中的一个助手。MongoDB存储BSON,并且TTL索引字段必须是BSON date type的。您不需要将查询字符串提交给mongod,而是将包含查询文档的有线协议消息作为BSON发送。因此,真正的问题是,如何对查询进行编码并将BSON发送到MongoDB?通常,人们使用的驱动程序可以处理所有这些事情,但看起来你使用的是其他东西,我完全不熟悉的东西。如果它不支持MongoDB支持您的用例所需的所有BSON类型的完整有线协议/编码,那么您需要修复您与MongoDB之间的通信层。

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

https://stackoverflow.com/questions/25417655

复制
相关文章

相似问题

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