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

标签 mongodb

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

实际问题: 集合:尝试 存储在 try 集合中的两个示例文档:

{
  _id: "1"
  testField: 150
}


{
  _id: "A"
  testField: 140
}

我想在项目阶段过滤掉_id字段,以便在组阶段进一步处理。下面的查询工作正常,但我需要更好的解决方案,例如使用 type 或任何其他方法。

db.try.aggregate([{$match: {"_id":{$in:["1","2","3","4","5","6","7","8","9"]}}}, {$group:{"_id":0, total: {$sum:"$testField"}}}])

最佳答案

在这种情况下您可以使用正则表达式:

db.try.aggregate([{$match: {"_id":
{$in:[/\d+/]}}}, 
{$group:{"_id":0, total: {$sum:"$testField"}}}])

关于Mongodb:将数字字符串转换为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29794960/

相关文章:

mongodb - 在 MongoDb 中查询不同的非空值

node.js - if (err) throw err 总是显示 process.nextTick(function){throw err;});

regex - "begins with"在数字数组中查询的 Mongo 匹配数字

java - MongoDB 和 Morphia - 传统 id(长)而不是 ObjectId

MongoDB 自动递增 ID

java - 如何在从 Mongo 读取而不是读取 DBObject 时转换为 Model 对象?

mongodb - 在 MongoDB 中按时间聚合查询

mongodb - pymongo:在文档中搜索和编辑字段

javascript - 如何将两个数组合并到一个对象中,并将值分配给名称?

mongodb - 如何使用 MongoDb 聚合 3 个集合的计数/总和?