Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
匹配mongodb php的元素_Php_Mongodb - Fatal编程技术网

匹配mongodb php的元素

匹配mongodb php的元素,php,mongodb,Php,Mongodb,我的问题是如何将以下来自mongodb的js代码翻译成php: t、 查找({group:3,'x.a':2},{'x.$':1}).toArray()[0].x.length, “单对象匹配(数组长度匹配)” 您可以在以下位置找到完整的js代码: 基本上,我关心的是如何将php转换为toArray()[0].x.length?我知道php有计数功能,但我不在乎。我还有其他的高级查询,它们都归结为这个问题 toArray()[0].x.length的直译为: $cursor = $collec

我的问题是如何将以下来自mongodb的js代码翻译成php:

t、 查找({group:3,'x.a':2},{'x.$':1}).toArray()[0].x.length, “单对象匹配(数组长度匹配)”

您可以在以下位置找到完整的js代码:


基本上,我关心的是如何将php转换为toArray()[0].x.length?我知道php有计数功能,但我不在乎。我还有其他的高级查询,它们都归结为这个问题

toArray()[0].x.length的直译为:

$cursor = $collection->find(['group' => 3, 'x.a' => 2], ['x.$' => 1]);
$documents = iterator_to_array($cursor, false);
count($documents[0]['x']);
或者,在上面的示例中使用它会更容易,因为我们只处理第一个结果,而忽略任何其他结果。重写:

$document = $collection->findOne(['group' => 3, 'x.a' => 2], ['x.$' => 1]);
count($document['x']);

我没有理解你所说的“我知道php有count,但我不在乎它。”除非你提到,否则计算返回文档中数组的长度必须使用basic。

toArray()[0].x.length的直译是:

$cursor = $collection->find(['group' => 3, 'x.a' => 2], ['x.$' => 1]);
$documents = iterator_to_array($cursor, false);
count($documents[0]['x']);
或者,在上面的示例中使用它会更容易,因为我们只处理第一个结果,而忽略任何其他结果。重写:

$document = $collection->findOne(['group' => 3, 'x.a' => 2], ['x.$' => 1]);
count($document['x']);

我没有理解你所说的“我知道php有count,但我不关心这个”的意思。除非你提到,否则计算返回文档中数组的长度必须使用basic。

我知道我可以这样做,但这是唯一的可能吗?我想可能有东西返回了我想要的精确数组,只是为了性能。字段选择仍然会返回顶级文档上下文中的所有内容。从理论上讲,您可以使用MongoDB来转换结果(例如,或服务器端JS),但这并没有那么有效。我知道我可以这样做,但这是唯一的可能吗?我想可能有东西返回了我想要的精确数组,只是为了性能。字段选择仍然会返回顶级文档上下文中的所有内容。从理论上讲,您可以使用MongoDB来转换结果(例如,或服务器端JS),但这远没有效率高。