gpt4 book ai didi

Php mongo 查找给定数组的匹配文档

转载 作者:可可西里 更新时间:2023-11-01 10:42:23 24 4
gpt4 key购买 nike

我想从一个集合中查找文档,例如类别为“猫”

[{id: 0, name: 'cheetah', category: ['cat', 'has_claws']},
{id: 1, name: 'lion', category: ['cat', 'has_claws', 'alpha']},
{id: 2, name: 'fox', category: ['dog']},
{id: 3, name: 'eagle' category: ['bird', 'has_claws']}
]

查询应该是什么样的?例如,我想查询 has_claws 类别中的异种动物,我还想确保在使用数组查询时不会有任何重复项......

即我想查询 catshas_claws

中的动物

我认为使用 $in 就足够了

$query   = array('category' => array('$in' => array('cat', 'has_claws')));
$animals = $animalModel->find($query);

是否有一个本地函数可以做到这一点,

最佳答案

看起来你想要$all

$query   = array('category' => array('$all' => array('cat', 'has_claws')));
$animals = $animalModel->find($query);

这意味着该字段必须具有“两个”值才能匹配。 $in相反,运算符表示值中的“任意一个”可以匹配,因此文档中的“三个”而不是 $all 的“两个”。会匹配。

此外,您在问题中错误地命名了该字段。在此处更正为 “类别”

关于Php mongo 查找给定数组的匹配文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36468163/

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