Javascript nodejs/express/Mongoose js中的.find()中的时间戳格式有问题

Javascript nodejs/express/Mongoose js中的.find()中的时间戳格式有问题,javascript,node.js,express,mongoose,Javascript,Node.js,Express,Mongoose,我有这样的收藏 { "_id" : ObjectId("5d428c8b0edc602c155929c5"), "source" : "connection", "class" : "dns", "ts" : 1503528301.909886, "uid" : "C8avTr2cLyrJJxkN9", } 如果我在mongo shell中打印密钥和密钥类型,我可以看到ts实际上是一个字符串: ts字符串 当我收到查询时,我需要从URL获取ts值并执行.

我有这样的收藏

{
    "_id" : ObjectId("5d428c8b0edc602c155929c5"),
    "source" : "connection",
    "class" : "dns",
    "ts" : 1503528301.909886,
    "uid" : "C8avTr2cLyrJJxkN9",
}
如果我在mongo shell中打印密钥和密钥类型,我可以看到ts实际上是一个字符串:
ts字符串

当我收到查询时,我需要从URL获取ts值并执行.find()查询。
获取?ts=1503528332.909886&limit=100&page=1
startTs=req.query.ts

这可能必须转换为第二个之后不带“.”的ts。我已经研究了如何将1503528332.909886转换为浮点,乘以1000 1503528332909.886并截断为整数1503528332909。我还尝试使用字符串和数字格式

results.results = await model
    .find({"ts": {"$gte": <ts_variable: what format do I use?> }})
    .skip(startIndex)
    .exec();
res.paginatedResults = results;
results.results=等待模型
.find({“ts”:{“$gte”:}})
.skip(startIndex)
.exec();
res.paginatedResults=结果;

如果我只使用“.find({})”而不尝试基于ts进行选择,那么一切都会按预期进行。感谢您提供的所有提示。

关于
Math.floor(ts*1000)
您是否仍然可以更改“ts”的字段类型,或者这是不可能的?您共享的对象将ts显示为数字,但您也会说它是字符串?fi在Mongoose模式中定义了什么?我无法控制集合,也无法更改类型。我使用的模式是根据我在列出键和键类型时发现的内容。ts:{type:String,必需:true},