gpt4 book ai didi

javascript - 仅选择周末日期

转载 作者:行者123 更新时间:2023-11-30 16:10:19 26 4
gpt4 key购买 nike

我正在尝试查询我的 mongoDB 集合以返回包含字段 selectedDate 的文档,并检查日期字符串是否在周末(星期六 [6] 或星期日 [0])。

如何将字段的值传递给函数来检查它? data 返回 undefined 但我不确定如何将其正确存储在 var 中。

查询

Entry.
find({}).
where('selectedDate').equals(thisWeekend(data)).
exec(function(err, entries) {
console.log('Events on a weeked' + ' ' + entries);
});

函数

function thisWeekend(data) {
var today = data.getDay();
if (today == 6 || today == 0) {
console.log('WEEKEND BITCHES');
} else {
console.log('Not the weekend');
}
};

最佳答案

你不是那样做的,你是这样做的:

Entry.aggregate(
[
{ "$redact": {
"$cond": {
"if": {
"$or": [
{ "$eq": [ { "$dayOfWeek": "$selectedDate" }, 1 ] },
{ "$eq": [ { "$dayOfWeek": "$selectedDate" }, 7 ] }
]
},
"then": "$$KEEP",
"else": "$$PRUNE"
}
}}
],
function(err,results) {
if (err) throw err;
// results is weekend days only
}
)

$redact管道运算符通过逻辑表达式过滤文档,这里使用 $dayOfWeek找到工作日值。

另一种情况是 $where表达式,但由于这确实需要 JavaScript 评估,因此它实际上比聚合操作运行得慢得多。你真的应该只将它用于没有 $redact 的 MongoDB 2.4 或更早版本:

Entry.find(
{
"$where": function() {
var day = this.selectedDate.getUTCDay();
return ( day == 6 || day == 0 );
}
},
function(err,results) {
if (err) throw err;
// Just weekends
}
)

您真正应该在此处针对 UTC 日期调用 .getUTCDay() 的位置。

关于javascript - 仅选择周末日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36354143/

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