如何将字符串转换为 MongoDB 中的数值?

您需要使用一些代码才能将字符串转换为 MongoDB 中的数值。

让我们首先创建一个包含文档的集合。使用文档创建集合的查询如下:

> db.convertStringToNumberDemo.insertOne({"EmployeeId":"101","EmployeeName":"Larry"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7f56528d10a061296a3c31")
}
> db.convertStringToNumberDemo.insertOne({"EmployeeId":"1120","EmployeeName":"Mike"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7f56648d10a061296a3c32")
}
> db.convertStringToNumberDemo.insertOne({"EmployeeId":"3210","EmployeeName":"Sam"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7f566e8d10a061296a3c33")
}

在find()方法的帮助下显示集合中的所有文档。查询如下 -

> db.convertStringToNumberDemo.find().pretty();

以下是输出 -

{
   "_id" : ObjectId("5c7f56528d10a061296a3c31"),
   "EmployeeId" : "101",
   "EmployeeName" : "Larry"
}
{
   "_id" : ObjectId("5c7f56648d10a061296a3c32"),
   "EmployeeId" : "1120",
   "EmployeeName" : "Mike"
}
{
   "_id" : ObjectId("5c7f566e8d10a061296a3c33"),
   "EmployeeId" : "3210",
   "EmployeeName" : "Sam"
}

这是在 MongoDB 中将字符串转换为数值的查询。将“EmployeeId”字符串更改为数值。查询如下 -

> db.convertStringToNumberDemo.find().forEach(function(x)
   ... {
      ... db.convertStringToNumberDemo.update
      ... (
         ...
         ... {
            ... "_id": x._id,
            ...
         ... },
         ... {
            ... "$set":
            ... {
               ... "EmployeeId": parseInt(x.EmployeeId)
            ... }
         ... }
      ... )
   ... }
... );

现在检查集合中的文档。查询如下 -

> db.convertStringToNumberDemo.find().pretty();

以下是显示转换为整数的字符串值 (EmployeeId) 的输出 -

{
   "_id" : ObjectId("5c7f56528d10a061296a3c31"),
   "EmployeeId" : 101,
   "EmployeeName" : "Larry"
}
{
   "_id" : ObjectId("5c7f56648d10a061296a3c32"),
   "EmployeeId" : 1120,
   "EmployeeName" : "Mike"
}
{
   "_id" : ObjectId("5c7f566e8d10a061296a3c33"),
   "EmployeeId" : 3210,
   "EmployeeName" : "Sam"
}