无法在MongoDB(storageEngine = mmapv1)中使用agrregate运算符

问题描述 投票:0回答:1

使用$ convert运算符时出现以下错误,mongodb storageEngine为mmapv1。

db.persons.aggregate([{$ project:{registred:{$ convert:{input:“ registered.age”,to:“ double”}}}}]])]

db.persons.aggregate([{$ project:{registred:{$ convert:{input:“ registered.age”,to:“ double”}}}}]])]

错误:命令失败:{“ ok”:0,“ errmsg”:“无效的运算符'$ convert'”,“ code”:15999}

mongodb mongodb-query aggregation-framework
1个回答
0
投票
运算符$convert仅适用于MongoDB版本> = 4.0。

也就是说,您有两个选择:

1-更新您的MongoDB

2-将聚合结果转换为值。在Javascript中,您可以执行以下操作:

var result = db.persons.aggregate([ { $project:{ registred:{ $convert:{input:"registered.age",to:"double"} } } } ]); result.forEach( function(document) { document.registred = parseFloat(document.registred); } );

© www.soinside.com 2019 - 2024. All rights reserved.