使用$ 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}
也就是说,您有两个选择:
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);
}
);