Arrays 在mongo文档深处搜索数组
在我的名为pixels的mongo集合中,我有类似示例的文档 我正在寻找一种方法来搜索文档中的actions.tags部分Arrays 在mongo文档深处搜索数组,arrays,mongodb,search,Arrays,Mongodb,Search,在我的名为pixels的mongo集合中,我有类似示例的文档 我正在寻找一种方法来搜索文档中的actions.tags部分 db.pixelsactifs.actions.find({tags:{$in : ["Environnement"]}}) db.pixelsactifs.find({actions.tags:{$in : {Environnement}}) 不起作用。我也在寻找PHP的等价物 我也在问自己,我应该做一个“动作”集合,而不是把所有的东西都放在一个文档中吗 我是mongo
db.pixelsactifs.actions.find({tags:{$in : ["Environnement"]}})
db.pixelsactifs.find({actions.tags:{$in : {Environnement}})
不起作用。我也在寻找PHP的等价物
我也在问自己,我应该做一个“动作”集合,而不是把所有的东西都放在一个文档中吗
我是mongo的新手,所以任何关于构建db的好教程都会很棒
谢谢你的洞察力
{
"_id": { $oid": "51b98009e4b075a9690bbc71" },
"name": "open Atlas",
"manager": "Tib Kat",
"type": "Association",
"logo": "",
"description": "OPEN ATLAS",
"actions": [
{
"name": "Pixel Humain",
"tags": [ "Toutes thémathiques" ],
"description": "le PH agit localement",
"images": [],
"origine": "oui",
"website": "www.echolocal.org"
}
],
"email": "my@gmail.com",
"adress": "102 rue",
"cp": "97421",
"city": "Saint louis",
"country": "Réunion",
"phone": "06932"
}
你可以这样试试
collectionName->find(array("actions.tags" => array('$in' => "Environnement")));
我认为您不需要在单独的集合中维护操作。NoSQL为您提供了更大的灵活性来嵌入文档。事件它允许子文档也被索引。NoSQL的真正威力在于将文档相互合并以获得更快的检索。我在这里看到的唯一的缺点是,您无法获得子文档的部分。“查找”将始终返回完整的父文档。如果要显示子文档数组的一个条目,则不可能。它将返回整个子文档,您必须在客户端进行筛选。所以,如果您计划向最终用户显示单个操作,最好在单独的集合中显示
阅读这里:你可以这样试试
collectionName->find(array("actions.tags" => array('$in' => "Environnement")));
我认为您不需要在单独的集合中维护操作。NoSQL为您提供了更大的灵活性来嵌入文档。事件它允许子文档也被索引。NoSQL的真正威力在于将文档相互合并以获得更快的检索。我在这里看到的唯一的缺点是,您无法获得子文档的部分。“查找”将始终返回完整的父文档。如果要显示子文档数组的一个条目,则不可能。它将返回整个子文档,您必须在客户端进行筛选。所以,如果您计划向最终用户显示单个操作,最好在单独的集合中显示
阅读此处:此外,如果您只是在数组中检查一个值,则可以不使用
$in
而只需查询[“action.tags”=>“environment”]
。如果您正在检查多个匹配项(功能上是“或”查询),则最有用。相反,运算符的功能类似于“and”查询。此外,如果您只是在数组中检查一个值,则可以不使用$in
,只需查询[“action.tags”=>“environment”]
。如果您正在检查多个匹配项(功能上是“或”查询),则最有用。相反,运算符的功能类似于“and”查询。