两个Int32字段的Mongodb相减将导致空值
我正在对一些数据进行聚合,其中包括以下投影 查询:两个Int32字段的Mongodb相减将导致空值,mongodb,mongodb-query,aggregation-framework,Mongodb,Mongodb Query,Aggregation Framework,我正在对一些数据进行聚合,其中包括以下投影 查询: {"$project": { "subbedout": {"$toInt": {"$ifNull": ["$outmin", "$endgame"]}}, "subbedin": {"$toInt": {"$ifNull": ["$inmin", 0]}}, "minutes": {"$subtract": ["$subbedout", "$subbedin"]}
{"$project": {
"subbedout": {"$toInt": {"$ifNull": ["$outmin", "$endgame"]}},
"subbedin": {"$toInt": {"$ifNull": ["$inmin", 0]}},
"minutes": {"$subtract": ["$subbedout", "$subbedin"]}
}
字段subbedout和subbedin与预期一致,并且都Int32,但分钟字段值均null
我做错了什么?您正在同一个投影中创建导致该问题的这两个字段,您需要将其分为两个阶段,或者必须在
{“$toInt”:{“$ifNull”:[“$outmin”,“$endgame”]}
和{“$toInt”:{“$ifNull”:[“$inmin”,0]}
中执行操作
db.collection.aggregate([
{
"$project": {
"subbedout": "$a",
"subbedin": "$b"
}
},
{
$project: {
"minutes": {
"$subtract": [
"$subbedout",
"$subbedin"
]
}
}
}
])