我不太确定该如何命名!
所以我有一系列的产品ID
var productIds = [139,72,73,1,6]
还有MongoDB中的一堆客户文档
{
name: 'James',
products: [ 73, 139 ],
_id: 5741cff3f08e992598d0a39b
}
{
name: 'John',
products: [ 72, 99 ],
_id: 5741d047f08e992598d0a39e
}
当他们所有的产品都出现在产品ID(productIds)数组中时,我想找到客户
我试过了:
'products' : {
'$in': productIds
}
但这会返回John,即使产品ID列表中不存在99
我也尝试过:
'products' : {
'$all': productIds
}
由于没有客户拥有所有产品,该产品不返回任何收益
有没有一种方法可以在单个查询中实现我所需要的,或者我将不得不进行一些后查询处理?
我也试过
'products': {
'$in': productIds,
'$not': {
'$nin': productIds
}
}
但这似乎在并非所有产品ID都匹配时也会回头客
您可以使用.aggregate()
方法和$redact
运算符执行此操作。在$cond
表达式中,您需要使用$setIsSubset
来检查“产品”数组中的所有元素是否都在“
productIds”中。这是因为您不能$in
在条件表达式中使用
var productIds = [139,72,73,1,6];
db.customers.aggregate([
{ "$redact": {
"$cond": [
{ "$setIsSubset": [ "$products", productIds ] },
"$$KEEP",
"$$PRUNE"
]
}}
])
我有两个多维数组,我想通过使用其中一个数组的值和另一个数组的键来组合它们。数组如下: 阵列1: 阵列 2: 我想生成的结果数组如下: 有没有一个PHP函数可以用来完成这个任务?
我想了解从另一个数组的所有元素中筛选一个数组的最佳方法。我尝试了筛选函数,但我不知道如何给它我想要删除的值。 类似内容: 如果过滤器功能不是有用的,你将如何实现它? 编辑:我检查了可能重复的问题,对于那些容易理解javascript的人来说,它可能很有用。如果答案被检查为好,事情就会变得简单。
我编写了这段代码,它应该要求用户输入第一个数组的长度,其中包含他想要的数字,而不是在数量完成之前重复每个数字。之后,他需要询问数组的长度,并比累犯的数字。比,我需要检查是否所有的数字都包含所有的数字,如果是真的,打印它,如果不是,打印假的。在这段代码中,我已经用字符串数组替换了int[],因为我认为这就是它的工作方式。当我试图创建一个只有个位数的Int数组时,它工作得很好,当你想要像22这样的数字
我有这个数组,还有另一个数组 我想从中删除存在于中的值。 我已经这样做了: 但我得到一个错误说v.index不是一个函数
问题内容: 给定一个字节数组,我如何在其中找到(较小)字节数组的位置? 使用,该文档看起来很有希望,但是如果我正确的话,那只会让我在要搜索的数组中找到一个单独的字节。 (我认为这并不重要,但以防万一:有时搜索字节数组将是常规的ASCII字符,有时是控制字符或扩展的ASCII字符。因此使用String操作并不总是合适的) 大数组可能在10到10000个字节之间,而小数组大约在10个字节。在某些情况下
问题内容: 我有一个数字值数组,我想从该数组中随机选择一个值,然后将其插入变量中。 我不确定您需要查看什么代码。所以, 这是我用来生成13个数字(1-13)并将其插入到数组中的循环。 效果很好,但是现在我需要从该数组中选择2个随机值(然后将其插入变量中,以备后用。 我到过很多网站,已经看到了类似的事情,例如将值插入到数组中,然后用于从数组中选择值,然后从数组中删除它。但是,无论何时我使用它都行不通