Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

쉼표가 있는 문자열을 이중으로 변환하는 MongoDB 쿼리

<시간/>

이러한 변환을 위해서는 집계()를 사용하십시오. 문서로 컬렉션을 만들자 −

> db.demo335.insertOne({"값":"45,67,78.0"});{ "승인됨" :true, "insertedId" :ObjectId("5e522a1cf8647eb59e562091")}> db.demo335.insert {"값":"17664,76,534.0"});{ "승인됨":true, "insertedId":ObjectId("5e522a26f8647eb59e562092")}}> db.demo335.insertOne({"값":3287,1);{ "승인됨" :true, "insertedId" :ObjectId("5e522a34f8647eb59e562093")}> db.demo335.insertOne({"값":"1,533.07"});{ "승인됨":true, "개체 삽입 "5e522ab9f8647eb59e562094")}

find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -

> db.demo335.find();

이것은 다음과 같은 출력을 생성합니다 -

{ "_id":ObjectId("5e522a1cf8647eb59e562091"), "값":"45,67,78.0" }{ "_id":ObjectId("5e522a26f8647eb59e562092"), "}{64, ", "값":"_id":ObjectId("5e522a34f8647eb59e562093"), "값":"8899,322,135,875.50" }{ "_id":ObjectId("5e522ab9f8647eb59e562094"), 

다음은 쉼표가 있는 문자열을 double -

로 변환하는 쿼리입니다.
db.demo335.aggregate([... { $project:{... 데이터:{... $convert:{... 입력:{... $reduce:{... 입력:{ ... $split:['$Value', ',']... },... initialValue:'',... in:{... $concat:['$$value', '$ $this']... }... }... },... to:'더블',... onError:0... }... }... }}... ]) 

이것은 다음과 같은 출력을 생성합니다 -

"_id":ObjectId("5e522a1cf8647eb59e562091"), "data":456778 }{ "_id":ObjectId("5e522a26f8647eb59e562092"), "data":}{5734 , "데이터":8899322135875.5 }{ "_id":ObjectId("5e522ab9f8647eb59e562094"), "데이터":1533.07 }