2016-11-01 76 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 –

相關問題