使用mongo shell更改字段类型



我正在查看MongoDB的sample_mflix数据库,该数据库似乎与数据类型有些不一致。例如,我已经浏览并将所有的"年份"字段从"字符串"(类型:1(更改为数字。但当我执行以下操作时:

db.movies.find({"year": { "$not": { "$type": 16} } });

我看到数据已经更改,但它仍然不是16作为一个类型(32位整数(。当我使用"type of"运算符进行查询时,它返回为"number"。类型文档中似乎没有列出类型"number"。我想将该字段的所有类型转换为相同的类型,并且我希望它们都是整数或"number"。如何像其他行一样将类型更改为16?或者我如何将不是16的行更改为"数字",不管是什么?

db.movies.find().forEach(function(ch)
{
db.movies.update({ "_id":ch._id}, {"$set" :  { "year":parseInt(ch.year)} });
});

因此,在这里您可以使用parseInt((将字符串转换为int类型。

最新更新