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

标签 mongodb mongodb-query aggregation-framework

我可以在 aggregate 函数中使用运算符来获取字符串而不是 ObjectId 作为响应吗?

db.something.aggregate([
  { "$match": { "property": { "$exists": true } } },
  { "$project": { "stringId": "$_id.???" } }
])

最佳答案

Mongodb 4.0 引入了$toString聚合运算符。所以,现在您可以轻松地将 ObjectId 转换为字符串

db.collection.aggregate([
  {
    $project: {
      _id: {
        $toString: "$_id"
      }
    }
  }
])

反之亦然,使用 $toObjectId聚合

db.collection.aggregate([
  {
    $project: {
      _id: {
        $toObjectId: "$_id"
      }
    }
  }
])

关于mongodb - 如何将 $project ObjectId 转换为 mongodb 聚合中的字符串值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36059986/

相关文章:

javascript - 将数组中的字符串值连接到 MongoDB 的单个字段中

MongoDb:聚合 $lookup 过滤外部文档

javascript - mongodb 更新 shell 命令应该是什么

arrays - 从子数组中找到文件?

java - 在java中使用mongodb时出错

javascript - 如何使用 AJAX 成功函数更新动态创建的号码?

node.js - 如何使用 MongoDB 按名字和姓氏搜索用户?

mongodb - 在 MongoDB 中查找最大值

javascript - 是否可以在集合中找到没有相同字段的随机文档? (monogdb\node.js)

javascript - 我需要手动关闭 Mongoose 连接吗?