php:将mongodb嵌入式文档查询到数组中

悬崖恩尼斯

我有一个数据库需要查询,我需要将所有结果从嵌入式文档中获取到数组中,以便将其存储到php中的变量中。这是mongodb的记录如下所示:

{
        "_id" : ObjectId("987654321"),
        "roles" : {
               "988434fe-9ac8-390f-abb4-18e4a0cc83fd" : 9,
               "fc261c0f-7124-3c81-89e8-ecb33771fe4e" : 9
        },
        "groupType" : "PUBLIC_GROUP",
        "name" : "Service Tech Role",
        "type" : "usergroup"
}

我可以使用下面的PHP函数从该文档中获取所有信息,嵌入式文档数据除外。

function getPerms()
  {
    $m = new MongoClient ("mongodb://localhost" );
    $db = $m->test;
    $collection = $db->roles;
    $query = array( '_id' => $_SESSION['groupId'] );
    $cursor = $collection->find( $query );
    foreach ($cursor as $document) {
      $_SESSION['object_permissions'] = $document["roles"];
    }
  }

我需要的是在数组中设置“角色”数据,如下所示:

988434fe-9ac8-390f-abb4-18e4a0cc83fd,9
fc261c0f-7124-3c81-89e8-ecb33771fe4e,9

将嵌入式文档放入数组中需要做些什么,以便将它们作为会话变量存储在php中?

卡维海豹

我认为您的错误在其他地方,它可能更多是与查询返回零文档有关,或者角色数据首先是空数组,或者角色数据不存在并且您有未定义的索引错误。

您能否证明可以从该文档中获取除嵌入式文档数据以外的所有信息?做一个var_dump($document)循环内。

我怀疑您的脚本可能甚至没有进入foreach循环。您可能需要检查mongodb查询错误,或者尝试将查询修改或删除作为测试。

旁注:您还应该为此使用findOne而不是find()

$document = $collection->findOne($query);
$_SESSION['object_permissions'] = $document['roles'];

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

查询mongodb中的嵌入式文档数组

来自分类Dev

如何在嵌入式数组mongodb中查询嵌入式文档

来自分类Dev

查询MongoDB中的嵌入式文档

来自分类Dev

在文档中引用文档的嵌入式数组的嵌入式数组上查询Doctrine2和MongoDB

来自分类Dev

使用Presto查询MongoDB嵌入式/嵌套文档的数组

来自分类Dev

将嵌入式文档插入到mongodb文档中的新字段

来自分类Dev

如何在MongoDB中查询数组中的单个嵌入式文档?

来自分类Dev

如何在 MongoDb 中查询嵌入式文档?

来自分类Dev

嵌入式文档数组中的MongoDB Aggregate ObjectId

来自分类Dev

如何使用Mongoose将值推入MongoDB中嵌入式文档中的数组?

来自分类Dev

春季查询嵌入式文档的数组

来自分类Dev

Mongodb:将字段添加到嵌入式文档中(无数组)

来自分类Dev

如何查询Mongodb的嵌入式数组

来自分类Dev

在mongodb中展开嵌入式文档

来自分类Dev

如何将现有的子文档推送到MongoDB中的嵌入式数组中?

来自分类Dev

如何从嵌入式文档数组将mongodb中的ISO日期转换为'yyyy-mm-dd hh:mm:ss'?

来自分类Dev

MongoDB:与查询不匹配的嵌入式文档

来自分类Dev

MongoDB嵌入式文档自我查询

来自分类Dev

Hibernate repo 查询以访问 mongodb 嵌入式文档

来自分类Dev

如何从mongodb中的嵌套嵌入式文档中查询和返回单个字段?

来自分类Dev

使用C#在MongoDB集合中的嵌入式文档的子句查询中的投影

来自分类Dev

Mongoid:基于嵌入式文档数组的大小查询

来自分类Dev

MongoDB $ project嵌入式文档到根级别

来自分类Dev

MongoDB对数组和嵌入式文档的条件验证

来自分类Dev

MongoDB聚合查询-重命名嵌入式文档中返回的字段

来自分类Dev

mongodb中的时间序列数据-如何查询嵌入式文档

来自分类Dev

使用Java在MongoDB中的嵌入式文档中索引和搜索“数组”

来自分类Dev

用Solr索引嵌入式mongoDB文档(在数组中)

来自分类Dev

更新数组中的嵌入式文档-Mongodb +节点驱动程序

Related 相关文章

  1. 1

    查询mongodb中的嵌入式文档数组

  2. 2

    如何在嵌入式数组mongodb中查询嵌入式文档

  3. 3

    查询MongoDB中的嵌入式文档

  4. 4

    在文档中引用文档的嵌入式数组的嵌入式数组上查询Doctrine2和MongoDB

  5. 5

    使用Presto查询MongoDB嵌入式/嵌套文档的数组

  6. 6

    将嵌入式文档插入到mongodb文档中的新字段

  7. 7

    如何在MongoDB中查询数组中的单个嵌入式文档?

  8. 8

    如何在 MongoDb 中查询嵌入式文档?

  9. 9

    嵌入式文档数组中的MongoDB Aggregate ObjectId

  10. 10

    如何使用Mongoose将值推入MongoDB中嵌入式文档中的数组?

  11. 11

    春季查询嵌入式文档的数组

  12. 12

    Mongodb:将字段添加到嵌入式文档中(无数组)

  13. 13

    如何查询Mongodb的嵌入式数组

  14. 14

    在mongodb中展开嵌入式文档

  15. 15

    如何将现有的子文档推送到MongoDB中的嵌入式数组中?

  16. 16

    如何从嵌入式文档数组将mongodb中的ISO日期转换为'yyyy-mm-dd hh:mm:ss'?

  17. 17

    MongoDB:与查询不匹配的嵌入式文档

  18. 18

    MongoDB嵌入式文档自我查询

  19. 19

    Hibernate repo 查询以访问 mongodb 嵌入式文档

  20. 20

    如何从mongodb中的嵌套嵌入式文档中查询和返回单个字段?

  21. 21

    使用C#在MongoDB集合中的嵌入式文档的子句查询中的投影

  22. 22

    Mongoid:基于嵌入式文档数组的大小查询

  23. 23

    MongoDB $ project嵌入式文档到根级别

  24. 24

    MongoDB对数组和嵌入式文档的条件验证

  25. 25

    MongoDB聚合查询-重命名嵌入式文档中返回的字段

  26. 26

    mongodb中的时间序列数据-如何查询嵌入式文档

  27. 27

    使用Java在MongoDB中的嵌入式文档中索引和搜索“数组”

  28. 28

    用Solr索引嵌入式mongoDB文档(在数组中)

  29. 29

    更新数组中的嵌入式文档-Mongodb +节点驱动程序

热门标签

归档