gpt4 book ai didi

node.js - 如何在 sails 模型中使用日期时间

转载 作者:太空宇宙 更新时间:2023-11-04 02:28:05 26 4
gpt4 key购买 nike

我想在我的 Controller 中有一个函数来根据时间范围获取数据。首先,我有 mongodb 中的所有数据,有一个属性 ModifiedTime,字符串看起来像 2015-02-25T17:17:33Z 。其次,我使用 ModifiedTime 在 sails 中定义模型:

{ type: 'datetime', columnName: 'ModifiedTime' }

在 model.js 中,我设置了 schema: true。然后在我的 Controller 中,我尝试使用

 User.find({ModifiedTime : {'<=' : new Date('2015-03-18T00:00:00Z')}}).exec(function(err,st){
if (err) return res(err);
if (!st) return res(new Error('Invalid ModifiedTime.'));

return res.json(st);
} );

但我什么也没得到,在浏览中总是看到[]。我用的是水线http://localhost:1337/User检查浏览中的数据。我可以看到 mongodb 的所有数据。奇怪的是,我看到类似 ModifiedTime": "2015-02-18T17:36:53Z 的内容。所以,对我来说,看起来 sails 中的 ModifiedTime 仍然是一个字符串,对吗?但我在模型中将类型设置为日期时间。我希望,它可以在后台将 mongodb 的字符串传输到 datetime,不是吗?请给一些建议。我已经花了太多时间了:(非常感谢!WJS

最佳答案

你是对的/错的。

在您的数据库中,您声明日期时间是一个字符串。如果它已经是一个字符串,那么您无法将其设置为 sails 模型中的日期。您应该简单地比较两个字符串,而不是将 2015-03-18T00:00:00Z 转换为日期。

 User.find({ModifiedTime : {'<=' : '2015-03-18T00:00:00Z'}}).exec(function(err,st){
if (err) return res(err);
if (!st) return res(new Error('Invalid ModifiedTime.'));

return res.json(st);
} );

如果您确实想使用日期/时间,那么您必须检查原始数据并将修改时间更改为日期/时间对象。

关于node.js - 如何在 sails 模型中使用日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29110655/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com