【发布时间】:2014-06-26 06:18:06
【问题描述】:
{
"_id": ObjectId("53ab1d2c256072374a5cc63f"),
"title": "10% Off",
"endDate": "2015-05-08",
"limit" : "limited",
"redemptions": [
"1f7f5f96be3a",
"kf40vksk03ps"
]
}
{
"_id": ObjectId("53ab1d2c25607sfdgs74a5cc63f"),
"title": "20% Off",
"endDate": "2015-06-07",
"limit" : "unlimited",
"redemptions": [
"1f7f5f96be3a",
"1f7f5f96be3a",
"kf40vksk03ps"
]
}
故事:一个人可以兑换2次优惠券。 2次后,请勿退货。 如何检查一个值出现的次数少于 2 次??
希望它像这样简单:
{ 'redemptions' : { $exists: true }, $where : 'this.redemptions.$.1f7f5f96be3a.length < 2' }
如何计算特定值在数组中出现的次数并进行比较?
编辑
所以要增加一些乐趣。我更新了我的模式,所以我需要把它变成一个条件。 if limit = 'unlimited' { return record } if limit = 'limited' { 仅当数组少于 2 个值时才返回 = '1f7f5f96be3a'
【问题讨论】:
标签: node.js mongodb mongodb-query aggregation-framework