如何使用猫鼬中的值数组查询一组对象?

比尔·塔哈

我有这样的架构

const rankSchema = new Schema(
  {
    rank: { type: Object, default: {} },
    lastUpdated: { type: Date, default: Date.now() },
  },
  { minimize: false }
);

我的数据库有一个对象“ rank”,其中包含许多其他对象,就像这样。

rank: {
  Person1: { Stat1: 2, Stat2: 0, Stat3: 0, Stat4: 2, Stat5: 4 },
  Person2: { Stat1: 4, Stat2: 0, Stat3: 0, Stat4: 2, Stat5: 2 },
  Person3: { Stat1: 1, Stat2: 0, Stat3: 0, Stat4: 2, Stat5: 1 },
  Person4: { Stat1: 2, Stat2: 0, Stat3: 0, Stat4: 2, Stat5: 3 }
}

现在我有一个包含其中一些人的字符串数组

['Person1', 'Person2']

我希望能够找到该数组中的所有人员对象并返回其统计信息。因此,基本上,使用字符串数组后的最终输出将是

Person1: { Stat1: 2, Stat2: 0, Stat3: 0, Stat4: 2, Stat5: 4 },
Person2: { Stat1: 4, Stat2: 0, Stat3: 0, Stat4: 2, Stat5: 2 }

我尝试使用$in和各种不同的查询,但似乎没有任何效果,我很困惑。

谢谢

米克尔

你可以使用的组合$ objectToArray$ arrayToObject动态字段名,但如果当你建立你的查询您的参数是已知的,然后它更容易使用常规过滤你的对象.find(),并应用投影:

db.collection.find({},{ "rank.Person1": 1,  "rank.Person2": 1})

let input = ['Person1', 'Person2'];
let entries = input.map(p => ([`rank.${p}`, 1]))
let projection = Object.fromEntries(entries);
console.log(projection);

蒙哥运动场

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用JavaScript数组中的一组值查询MySQL

来自分类Dev

如何使用猫鼬中的聚合查询过滤$ match等于对象值

来自分类Dev

如何使用猫鼬从数组中创建查询?

来自分类Dev

如何使用猫鼬按特定值从数组中删除对象

来自分类Dev

如何使用猫鼬返回具有特定值的数组中的对象?

来自分类Dev

我如何使用数组中的对象创建架构?猫鼬

来自分类Dev

如何使用猫鼬从数组字段中获取特定对象

来自分类Dev

如何从猫鼬中检索对象值

来自分类Dev

猫鼬查询数组对象数组内

来自分类Dev

我如何使用猫鼬更新mongoDb中数组中的对象的数组元素

来自分类Dev

替换数组中的一组值

来自分类Dev

查询父级时如何获取猫鼬子文档数组中的聚合值总和?

来自分类Dev

MongoDB-从对象数组中检索对象。使用猫鼬

来自分类Dev

用猫鼬从[对象数组]查询

来自分类Dev

如何使用猫鼬从字符串数组中的对象数组返回字段

来自分类Dev

使用猫鼬为所有文档获取数组中对象的不同值

来自分类Dev

如何在javascript中克隆猫鼬查询对象

来自分类Dev

如何从猫鼬模型中的数组中删除对象

来自分类Dev

如何在猫鼬中查询嵌套数组

来自分类Dev

如何在数组中对$ all进行猫鼬查询

来自分类Dev

如何使用猫鼬查询的结果过滤数组?

来自分类Dev

猫鼬,向集合的一组文档中添加/更新数据

来自分类Dev

猫鼬查询一个数组包含另一个数组中的值

来自分类Dev

如何从猫鼬查询回调中访问特定值?

来自分类Dev

如何从猫鼬mongodb查询中获取字段的值?

来自分类Dev

如何从猫鼬mongodb查询中获取字段的值?

来自分类Dev

如何在猫鼬中按对象数组查找?

来自分类Dev

猫鼬如何在数组中查找对象

来自分类Dev

如何在猫鼬中创建多个对象数组?

Related 相关文章

  1. 1

    使用JavaScript数组中的一组值查询MySQL

  2. 2

    如何使用猫鼬中的聚合查询过滤$ match等于对象值

  3. 3

    如何使用猫鼬从数组中创建查询?

  4. 4

    如何使用猫鼬按特定值从数组中删除对象

  5. 5

    如何使用猫鼬返回具有特定值的数组中的对象?

  6. 6

    我如何使用数组中的对象创建架构?猫鼬

  7. 7

    如何使用猫鼬从数组字段中获取特定对象

  8. 8

    如何从猫鼬中检索对象值

  9. 9

    猫鼬查询数组对象数组内

  10. 10

    我如何使用猫鼬更新mongoDb中数组中的对象的数组元素

  11. 11

    替换数组中的一组值

  12. 12

    查询父级时如何获取猫鼬子文档数组中的聚合值总和?

  13. 13

    MongoDB-从对象数组中检索对象。使用猫鼬

  14. 14

    用猫鼬从[对象数组]查询

  15. 15

    如何使用猫鼬从字符串数组中的对象数组返回字段

  16. 16

    使用猫鼬为所有文档获取数组中对象的不同值

  17. 17

    如何在javascript中克隆猫鼬查询对象

  18. 18

    如何从猫鼬模型中的数组中删除对象

  19. 19

    如何在猫鼬中查询嵌套数组

  20. 20

    如何在数组中对$ all进行猫鼬查询

  21. 21

    如何使用猫鼬查询的结果过滤数组?

  22. 22

    猫鼬,向集合的一组文档中添加/更新数据

  23. 23

    猫鼬查询一个数组包含另一个数组中的值

  24. 24

    如何从猫鼬查询回调中访问特定值?

  25. 25

    如何从猫鼬mongodb查询中获取字段的值?

  26. 26

    如何从猫鼬mongodb查询中获取字段的值?

  27. 27

    如何在猫鼬中按对象数组查找?

  28. 28

    猫鼬如何在数组中查找对象

  29. 29

    如何在猫鼬中创建多个对象数组?

热门标签

归档