我已经将CSV文件导入到我的mongodb中。 CSV有根据需要mongo分隔符和从MySQL数据库收到与此查询:
SELECT * FROM csgo_users INTO OUTFILE 'b1.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
此外,我试图从Sequel Pro接收CSV与它的导出功能。
在我的csv中,我有17个字符长的字段。在MySQL数据库中,该字段的类型为VARCHAR,但包含17位数字。
将csv导入到mongo后,我得到这个字段的类型为NumberLong
,但我希望它是string
。
到目前为止,我已经尝试:MongoDB类型从NumberLong更新到字符串
- 更改类型在MySQL从
varchar
到text
。 - 试图导入CSV与其他标志
--headerline
和--columnsHaveTypes
- 我也一直在努力,加上独立的字段,而顶线,具有触杀
--fields
。 尝试的命令,因为这:
db.csgo_users.find({"steam_id": {$type: 18}}) .toArray() .map(function(v){ v.steam_id = new String(v); db.csgo_users.save(v) })
或本:
db.csgo_users.find({"steam_id": {$type: 18}})
.toArray()
.map(function(v){
v.steam_id = new String(v.toSring());
db.csgo_users.save(v)
})
- 我已经尝试了很多解决方案与forEach()
像this或this或this 等。
对于我尝试的最后一个示例,我没有字符串,但Object,{"N",u","m","b","e","r","L","o","n","g"..}
但我希望它是“123456789”,而不是Object。
我正在使用MongoDB 3.4 docs。
所以,我的问题是,如何将“字段”类型从NumberLong
更改为String
?
能否请你告诉我蒙戈外壳查询的例子,我可以用'.valueOf()'?因为我想选择'$ type:18'为'NumberLong'的字段所在的字段,然后用'.toString()'替换为相同的值。 – Grynets
我有这个,只是改变我的代码.valueOf()。非常感谢! – Grynets