如何通过 MongoDB PHP 中的嵌入项查找文档

2024-01-08

我在 MongoDB 中有下一个文档:

竞赛文件:

{
 "_id": ObjectId("502aa915f50138d76d11112f7"),
 "contestname": "Contest1",  
 "description": "java programming contest", 
 "numteams": NumberInt(2),
 "teams": [
   {
    "teamname": "superstars",
    "userid1": "50247314f501384b011019bc",
    "userid2": "50293cf9f50138446411001c",
    "userid3": "50293cdff501384464110018"
   },

   {
    "teamname": "faculty",
    "userid1": "50247314f501384b0110100c",
    "userid2": "50293cf9f50138446410001b",
    "userid3": "50293cdff501384464000019"
   }
 ],
 "term": "Fall 2012"
}

想象一下,除了这个文档之外,我还有更多用户可以注册的文档。我想找到用户注册的所有比赛。到目前为止我有这样的事情:

$id = "50247314f501384b011019bc";
$user = array('userid1' => $id, 'userid2' => $id, 'userid3' => $id );
$team = array('teams' => $user);            
$result =$this->collection->find($team);
return $result;

有人可以帮我吗?

谢谢。

- - - 解决了 - - -

$team = array('$or' => array(array('teams.userid1' => $id),
               array('teams.userid2' => $id), 
               array('teams.userid3' => $id)
                 ));            

$result =$this->collection->find($team);

您的数据结构很难查询,因为您有一组嵌入的文档。通过对数据进行轻微更改,您可以使其更易于使用。

我已将用户 ID 放入数组中:

{
 "contestname": "Contest1",  
 "description": "java programming contest", 
 "numteams": 2,
 "teams": [
   {
    "teamname": "superstars",
    "members": [
        "50247314f501384b011019bc",
        "50293cf9f50138446411001c",
        "50293cdff501384464110018"
    ]
   },

   {
    "teamname": "faculty",
    "members": [
        "50247314f501384b0110100c",
        "50293cf9f50138446410001b",
        "50293cdff501384464000019"
    ]
   }
 ],
 "term": "Fall 2012"
}

然后你可以做 PHP 等价的事情find() http://www.php.net/manual/en/mongocollection.find.php for:

db.contest.find(
        {'teams.members':'50247314f501384b011019bc'},
        {'contestname':1, 'description':1}
    )

这将返回该用户已输入的匹配竞赛:

{
    "_id" : ObjectId("502c108dcbfbffa8b2ead5d2"),
    "contestname" : "Contest1",
    "description" : "java programming contest"
}
{
    "_id" : ObjectId("502c10a1cbfbffa8b2ead5d4"),
    "contestname" : "Contest3",
    "description" : "Grovy programming contest"
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过 MongoDB PHP 中的嵌入项查找文档 的相关文章

  • 简单的 PHP 回显代码不起作用

    这是我的 html 和 php 脚本 h1 Bob s Auto Parts h1 table width 100 tr tr table 为什么这个输出会出现一个 gt 我希望它是 这有效 仅有的 这是输出 鲍勃的汽车零件 鲍勃
  • 如何让Apache服务index.php而不是index.html?

    如果我将以下行放入index html文件 使 Apache 包含index php file 参观index html页面向我显示了这个 这是为什么 为什么它实际上不包含 PHP 文件 正如其他人指出的那样 您很可能没有 html设置为处
  • 如何使用对象数组创建猫鼬模式

    我有这个 json data id 1 name Sample test description this is a sample test category tests points 100 startDate 2018 02 15 00
  • 如何隐藏 URL 中的锚标记

    如何隐藏地址栏中以下链接 href 的哈希值 a href index php dev name 所以它会将我重定向到index php dev name 但我希望地址栏只显示index php 您可以使用 Javascript oncli
  • 在我的 index.php 中加载 CSS 和 JS 等资源时出现错误 403

    我使用的是 Linux Elementary OS 并在 opt 中安装了 lampp My CSS and JS won t load When I inspect my page through browser The console
  • 未传递“client_reference_id”参数

    我使用 Stripe Checkout Stripe 版本 2016 07 06 我想通过参数 client reference id 恢复个性化数据 但在 JSON 中 当我有金额或电子邮件时 我找不到它 我是在测试环境中 你能帮我吗 先
  • PHP - 类外 use 关键字和类内 use 关键字的区别

    伙计们 美好的一天 只是想问一下有什么区别use之外的class and use在 的里面class 我也用谷歌搜索过 但我的问题与答案不匹配 Example namespace App Http Controllers Auth use
  • 通过传递单个值获取多个索引[重复]

    这个问题在这里已经有答案了 可能的重复 列表索引搜索 https stackoverflow com questions 11292260 list index search 我必须在 int 中获取索引 其中值是相同的 因此我必须在 in
  • 如何将我的 init 函数中的代码集中到所有控制器中?

    public function init this gt view gt user Zend Auth getInstance gt getIdentity this gt view gt siteName Zend Registry ge
  • WordPress 包含 SVG 文件错误

    我使用 PHP 和 WordPress 在本地主机上 我可以毫无问题地包含 SVG 文件 但在实时服务器上 我尝试包含一个 SVG 文件以便能够使用 CSS 对其进行样式设置 我收到此错误消息 Parse error syntax erro
  • 使用 Instagram Basic Display API 时出现“无效平台应用程序”错误

    我正在尝试使用 Instagram Basic 显示 API 但是当我发布授权代码以获取访问令牌时 我不断收到以下错误 error type OAuthException 代码 400 error message 平台应用无效 我正在遵循此
  • 对 SimpleXML 数据进行排序和分组

    我正在对 XML 文件中的出版物数据进行排序和分组 我目前使用的方法效果很好大部分情况下 尽管我觉得有一种更有效的方法来完成我想要完成的任务 以下是目标节点的示例
  • PHP 扩展开发入门 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 请推荐有关 PHP 低 级 modules 编程接口的帮助文章或教程 搜索我的书签 我发现的唯一链接是
  • 按范围迭代数组

    我有一个数组 1 2 3 4 5 6 100 我希望将此数组迭代 5 次 具体来说 取数组的前 5 个数字并获取平均值 继续处理接下来的 5 个数字并获取平均值 依此类推 我尝试过多种方法 例如Dequeue和 for 循环但未能获得所需的
  • Ebay api GetSellerList,解析响应 XML

    我正在使用 eBay 交易 api 来获取当前列出的卖家股票 我正在使用 GetSellerList 调用 我在解析 xml 时遇到问题 然后将其插入到网站商店中 这是 xml 请求
  • PHP 中的引用

    我正在编写一个自定义博客引擎 并且希望拥有类似于 Wordpress 的引用 我可以查看 WordPress 源代码 但我真的更喜欢某种教程 但到目前为止我还没有找到 有没有关于在 PHP5 中实现 trackbacks 或 pingbac
  • 如何将 Smarty 3 包含到 Laravel 4 中?

    我是 Laravel 的新手 所以仍在习惯这些概念 但是我有大约 10 年的使用 Smarty 的经验 所以我希望利用这一点 除了事实上 Blade 似乎缺乏太多我发现有用且在 Smarty 中开箱即用的功能 但无论如何除了这个问题的要点之
  • 如何从 Laravel 执行存储过程

    我需要在表单提交数据后执行存储过程 我让存储过程按照我想要的方式工作 并且我的表单正常工作 我只是不知道从 laravel 5 执行 sp 的语句 它应该是这样的 执行 my stored procedure 但我似乎在网上找不到类似的东西
  • 反向引用在 PHP 中不起作用

    最近我一直在研究 更多的是在实践中说实话 正则表达式 我注意到他的力量 我提出的这个要求 link https stackoverflow com questions 30380397 take the text up to a speci
  • 使用 crypt() 加密

    我目前正在做一个非常安全的登录系统 但我是 crypt 函数的新手 需要一些快速帮助 我在注册过程中使用 crypt 加密密码字符串并将其保存到数据库中 但是 我如何在登录过程中解密密钥 或者我应该怎么做 或者是否可以对提交的密码字符串进行

随机推荐

  • 添加更多代码后,Google Apps 脚本会随机生成错误消息“发生意外错误”

    我编写了一个 Google Apps Script UiApp 应用程序 其中包含近 1000 行代码以及相当数量的处理程序和回调 该应用程序运行良好 但随着代码的增长 应用程序突然收到很多 发生意外错误 消息 错误消息在应用程序加载时出现
  • 您如何根据风格选择元素?

    使用 jQuery 您如何找到具有特定样式的元素 例如 float left 无论它是内联样式还是 CSS 文件中定义的样式 使用过滤功能 http docs jquery com Traversing filter filter func
  • 带有嵌套资源轨的嵌套表单 4

    我正在尝试在 Rails 4 0 3 上创建一个带有嵌套资源的嵌套 form for 但是我遇到了一些问题并且花了很多时间 问题是当我尝试提交表单时 这些值没有保存在我的数据库中 它将直接重定向到labs index 我已经定义了嵌套资源和
  • 为什么带宽以每秒位数来衡量?

    根据带宽的定义 它是频率的宽度 光谱 因此带宽应以 Hz 为单位进行测量 但 bps Mbps kbps 几乎到处都被用作带宽的度量 我需要知道的是 为什么使用 bps kbps 等数据传输速率测量来测量信号的带宽 由于对香农 哈特利定律的
  • 是的:将字段本身与另一个字段进行比较

    I had StartIntensity yup number EndIntensity yup number when StartIntensity StartIntensity number schema any gt return S
  • Rest 集合中的分页

    我有兴趣向 JSON 文档集合公开一个直接的 REST 接口 想想CouchDB http couchdb apache org or 坚持不懈 http persvr org 我遇到的问题是如何处理GET如果集合很大 则对集合根进行操作
  • Bootstrap 4.0.0 的 Jquery 兼容版本是什么

    请建议与Bootstrap版本4 0 0一起使用的jquery的兼容版本 也只是为了了解知识 列出了 bootstrap 和 Jquery 一起工作的版本 有什么建议或者参考 谢谢 Bootstrap 4 3 对导航栏菜单的创建方式进行了重
  • 带有 Html.ActionLink 的绝对(外部)URL

    我无法让 Html ActionLink 生成绝对网址 Html ActionLink DataBinder Eval c DataItem Name ToString DataBinder Eval c DataItem Path ToS
  • 使用 prometheus 统计 k8s 集群 cpu/内存使用情况

    我想用prometheus计算k8s集群cpu 内存使用情况 不是k8s pod使用情况 这样我就可以在grafana中显示 I use sum container memory usage bytes id 获取 k8s 集群使用的内存
  • JavaScript 中类型化数组的优点是它们在 C 中的工作方式相同或相似吗?

    我一直在玩类型化数组 https developer mozilla org en US docs JavaScript typed arrays在 JavaScript 中 var buffer new ArrayBuffer 16 va
  • Windows Azure Active Directory 应用程序中的“登录 URL”是什么?

    我已经在 Windows Azure Active Directory 中配置了我的第一个应用程序 一切正常 我可以使用目录中的帐户登录 但是 我还不完全清楚所有概念 尤其是登录网址 工具提示说 用户可以登录并使用您的应用程序的 URL 您
  • 有没有办法在Java中嵌入浏览器? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有没有办法在Java中嵌入浏览器 更具体地说 是否有一个可以模拟浏览器的库 从 JavaFX 2 0 开始 您现在可以使用webvie
  • Java 中未处理的异常

    我目前正在学习如何正确执行自定义异常 我偶然发现了一个问题 每当我尝试使用抛出此自定义异常的类的对象时 我的 IDE 调试器 我使用的是 IntelliJ idea 会显示 未处理的异常 InsertExceptionName 代码以简化的
  • 在不活动的情况下以编程方式停止 AWS EC2

    当开发环境中没有活动 例如 2 小时不活动后 时 我们是否可以停止开发环境的 AWS Windows Server EC2 实例 我无法确定是否有任何用户虚拟连接到服务器 我可以轻松地以编程方式在固定时间启动 停止 EC2 但为了降低服务器
  • 如何在堆栈上分配具有灵活数组成员的结构

    假设我们有一个以灵活数组成员结尾的结构 struct foo size t len uint8 t data 如何在堆栈上分配这个结构 即内存在作用域结束时自动释放 另外 如果len可以包含字段的大小data 目前 我做的事情如下 uint
  • 为什么 if [ ...某事... ];然后回显“退出状态是$?”总是发出 0?

    在 bash 中输出退出状态的正确方法是什么 据我所知 退出状态由 对应于最后执行的命令的状态 正在处理的脚本对作为参数提供的文件进行一些条件检查 例如 检查是否有任何文件被命名或文件是否存在 所以我有这样的条件语句 if eq 0 the
  • Kotlin 高阶函数组合

    我试图弄清楚如何在 Kotlin 中将一个函数声明性地定义为其他两个函数的组合 但我正在努力 这是我的代码 fun compose a Int Int gt Int b Int Int gt Int Int return a invoke
  • 如何从带有 url 的网页读取 Open Graph 和元标记

    我希望我的网站能够在用户将链接粘贴到邮箱时提取有关网页的信息 类似于 Facebook 我想知道像 Google Reddit 和 Facebook 这样的网站如何能够仅通过 URL 来检索缩略图 标题和描述 有人知道他们是如何做到这一点的
  • WordPress 表单未提交

    您好 我对 WordPress 非常陌生 根据我的要求 我在 WordPress 主题中创建了几个 php 文件 其中detailsform php包含
  • 如何通过 MongoDB PHP 中的嵌入项查找文档

    我在 MongoDB 中有下一个文档 竞赛文件 id ObjectId 502aa915f50138d76d11112f7 contestname Contest1 description java programming contest