MongoDB聚合项目字符串转换为ObjectId

史蒂文·沃伦

我正在尝试在聚合查询中将十六进制字符串转换为其等效的ObjectID。我尝试了两种不同的方法:

db.omvas.aggregate([
    {$project:{
        EID:{$let: {
               vars: {
                  id:  "$EID"
               },
               in: ObjectId("$$id")
            }},
        }
    },
    {$group:{
        _id:"$EID"
        }
    }
]);

db.omvas.aggregate([
    {$project:{
        EID: ObjectId("$EID")
        }
    },
    {$group:{
        _id:"$EID"
        }
    }
]);

我使用任何一种方法都会不断收到错误“错误:无效的对象ID:长度”。我测试了添加文字字符串代替聚合变量,并且得到了带有正确ObjectID的结果。似乎字符串值没有传递给Mongo的ObjectId函数,而是将变量名作为文字字符串传递。

任何人都知道我尝试实现的目标是否可能?我缺少一些魔术吗?

wdberkeley

ObjectId是Shell中ObjectIds的构造函数。当你写类似

"EID" : { "$let" : {
           "vars" : { "id" :  "$EID" },
           "in" : ObjectId("$$id")
        } }

mongo shellObjectId("$$id")在发送聚合请求之前进行评估就像您在Javascript中调用函数一样

var x = 2
var y = 4
f(x + y) // f(6)

您需要一个聚合运算符将字符串转换为ObjectId。不幸的是,从MongoDB 2.6开始,没有这样的功能。为什么需要转换字符串?你打算怎么办?也许有一种方法可以解决聚合中缺少转换运算符的问题。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从字符串转换为MongoDB ObjectID

来自分类Dev

如何将$ project ObjectId转换为mongodb中的字符串值?

来自分类Dev

$ toString在mongoDB 3.6.3版中将'_id'从ObjectId()类型转换为字符串的替代方法?

来自分类Dev

如何通过MongoDb Shell将字符串字段转换为对象数组中的ObjectId?

来自分类Dev

使用Mongoose在MongoDB中将字符串字段转换为ObjectID字段

来自分类Dev

MongoDB-通过聚合将双精度转换为字符串

来自分类Dev

MongoDB:聚合,将对象数组转换为字符串值

来自分类Dev

如何在聚合管道中将bool转换为字符串并按条件更改值-MongoDB

来自分类Dev

使用rmongodb将mongo objectid转换为字符串

来自分类Dev

从字符串转换ObjectID?

来自分类Dev

如何在Node.js MongoDB本机驱动程序中将字符串转换为ObjectId?

来自分类Dev

VBA:将字典项目转换为字符串数组?

来自分类Dev

将字符串项目转换为指标

来自分类Dev

在 gridview 项目模板中将 bool 转换为字符串

来自分类Dev

在MongoDB中将字符串转换为日期

来自分类Dev

MongoDB将字符串类型转换为浮点类型

来自分类Dev

MongoDB将日期转换为字符串

来自分类Dev

在MongoDB中将字符串转换为ISODate

来自分类Dev

Mongodb:将数字字符串转换为数字

来自分类Dev

如何在MongoDB中将字符串转换为数组?

来自分类Dev

如何在MongoDB中将数组转换为字符串

来自分类Dev

在MongoDB中将字符串转换为日期

来自分类Dev

MongoDB将字符串类型转换为浮点类型

来自分类Dev

在猫鼬4.6.0中将字符串转换为ObjectId失败

来自分类Dev

Mongoose - 5.3.4 - 防止强制转换为 ObjectId 以使用字符串进行查询

来自分类Dev

在MongoDB聚合期间拆分字符串

来自分类Dev

MongoDB $转换字符串

来自分类Dev

将对象数组内的concat int数组字段转换为mongodb聚合中的一个字符串字段

来自分类Dev

我可以将带有空格分隔符的字符串字段转换为mongoDB聚合中的数组吗

Related 相关文章

  1. 1

    从字符串转换为MongoDB ObjectID

  2. 2

    如何将$ project ObjectId转换为mongodb中的字符串值?

  3. 3

    $ toString在mongoDB 3.6.3版中将'_id'从ObjectId()类型转换为字符串的替代方法?

  4. 4

    如何通过MongoDb Shell将字符串字段转换为对象数组中的ObjectId?

  5. 5

    使用Mongoose在MongoDB中将字符串字段转换为ObjectID字段

  6. 6

    MongoDB-通过聚合将双精度转换为字符串

  7. 7

    MongoDB:聚合,将对象数组转换为字符串值

  8. 8

    如何在聚合管道中将bool转换为字符串并按条件更改值-MongoDB

  9. 9

    使用rmongodb将mongo objectid转换为字符串

  10. 10

    从字符串转换ObjectID?

  11. 11

    如何在Node.js MongoDB本机驱动程序中将字符串转换为ObjectId?

  12. 12

    VBA:将字典项目转换为字符串数组?

  13. 13

    将字符串项目转换为指标

  14. 14

    在 gridview 项目模板中将 bool 转换为字符串

  15. 15

    在MongoDB中将字符串转换为日期

  16. 16

    MongoDB将字符串类型转换为浮点类型

  17. 17

    MongoDB将日期转换为字符串

  18. 18

    在MongoDB中将字符串转换为ISODate

  19. 19

    Mongodb:将数字字符串转换为数字

  20. 20

    如何在MongoDB中将字符串转换为数组?

  21. 21

    如何在MongoDB中将数组转换为字符串

  22. 22

    在MongoDB中将字符串转换为日期

  23. 23

    MongoDB将字符串类型转换为浮点类型

  24. 24

    在猫鼬4.6.0中将字符串转换为ObjectId失败

  25. 25

    Mongoose - 5.3.4 - 防止强制转换为 ObjectId 以使用字符串进行查询

  26. 26

    在MongoDB聚合期间拆分字符串

  27. 27

    MongoDB $转换字符串

  28. 28

    将对象数组内的concat int数组字段转换为mongodb聚合中的一个字符串字段

  29. 29

    我可以将带有空格分隔符的字符串字段转换为mongoDB聚合中的数组吗

热门标签

归档