我有一个类似下面的示例交易集合
[
{"_id":"123","createddate":"2017-07-24T09:43:31.028Z"},
{"_id":"124","createddate":"2017-07-25T09:43:31.028Z"},
{"_id":"125","createddate":"2017-07-26T09:43:31.028Z"},
{"_id":"123","createddate":"2017-07-28T09:43:31.028Z"},
{"_id":"126","createddate":"2017-07-27T09:43:31.028Z"}
]
但在我的制作中,我们每个日期(createddata字段)有大约50-60条记录。我需要根据选择获取特定日期的所有记录然后下载。
我在下面使用:
Meteor.methods({
gettransactionsdata:function(){
let transactionRecord = transactions.find({"createddate":"2017-07-26"});
return transactionRecord;
}
});
当我尝试调用上述函数时,它将transactionRecord
作为undefined
返回。我们怎么做到这一点?
答案 0 :(得分:1)
您将日期存储为字符串而不是日期,出于多种原因不建议这样做。在简单的一天,您可以进行$regex搜索,以查找从您要查找的日期开始的字符串:
transactions.find({ createddate: { $regex: /^2017-07-26/ }});
您也可以将该日期字符串传递给您的方法,以获得更大的灵活性:
Meteor.methods({
gettransactionsdata(dateStr) {
return transactions.find({ createddate: { $regex: new RegExp('^'+dateStr) }});
}
});