2016-11-01 45 views
1

我搜索了很多,但仍找不到(或理解)答案。我在我的mongodb数据库中有一个名为“btest”的集合。内部的集合我有一个看起来像这样随机生成的字符串(从1000到1000000)的列表:将mongodb集合中的字符串更改为大写

mongoimport -d ee_db -c btest --type csv --file "C:\Users\USER\Desktop\Random\projekty java\ee_bulk_insert\src\10000.csv" --headerline 

我想要做什么:

> db.btest.find() 
{ "_id" : ObjectId("5818ed42c33b12a7c902cd34"), "0" : 1, "wgickjkwxfimleot" : "r 
scjuvarvmvuheom" } 
{ "_id" : ObjectId("5818ed42c33b12a7c902cd35"), "0" : 2, "wgickjkwxfimleot" : "t 
gdqnegjscsmnjsi" } 
{ "_id" : ObjectId("5818ed42c33b12a7c902cd36"), "0" : 4, "wgickjkwxfimleot" : "d 
qjvndthelmtqknj" } 
{ "_id" : ObjectId("5818ed42c33b12a7c902cd37"), "0" : 5, "wgickjkwxfimleot" : "u 
qtmbuhgwxntcixh" } 
{ "_id" : ObjectId("5818ed42c33b12a7c902cd38"), "0" : 6, "wgickjkwxfimleot" : "i 
rguwjvectjvimjk" } 
{ "_id" : ObjectId("5818ed42c33b12a7c902cd39"), "0" : 7, "wgickjkwxfimleot" : "n 
sggjpodfvebjumk" } 
{ "_id" : ObjectId("5818ed42c33b12a7c902cd3a"), "0" : 8, "wgickjkwxfimleot" : "a 
wvjtlxtoqwpdltp" } 

我这些使用此命令导入将该集合中的所有字符串更改为大写字母。在MySQL中,我用"SELECT UCASE(row) FROM btest;"命令做了同样的事情。

如何在MongoDB中实现相同的结果?感谢所有的答案。

回答

0

可以使用$toUpper将字符串转换为大写,然后使用一个聚集了$project$out写在一个新的集合的结果:

db.btest.aggregate(
    [{ 
     $project: { 
      "0": 1, 
      "wgickjkwxfimleot": { $toUpper: "$wgickjkwxfimleot" } 
     } 
    }, { 
     $out: "results" 
    }] 
) 
+0

嘿,我所键入的溶液进入蒙戈壳它返回了三个点,没有别的。难道我做错了什么? –

+0

更新:我忘了它是在一个新的集合,哎呀:)它完美的工作!非常感谢<3 –

相关问题