我一直在为我的 Mongo-SQL 代码苦苦挣扎,但仍然需要你的帮助 :)
我在将数据从 SQL 服务器数据库传输到 MongoDB 时遇到问题。我的问题是我不能像AVERAGE()
或SUM()
对我的数据进行计算,因为我将它们保存为 MongoDB 中的字符串。我认为这些数字是整数,因为我是从我的 SQL 服务器数据库中获取它们的,它们使用下面的代码存储为整数。我现在看到我getString()
在获取值时使用。这就是为什么数字是 MongoDB 中的字符串的原因吗?我怎样才能将它们作为整数?我真的希望能够将它们作为数字来操作!此外,SQL 服务器中的一些值是日期时间,所以我需要大量的“if”语句和不同的“get”方法来获取 MongoDB 中的所有类型。有没有人有一个很好的解决这个问题的方法?
StringBuilder orderstatus = new StringBuilder();
orderstatus.append("SELECT * FROM dbo.fact_orderstatus");
PreparedStatement t = connect.prepareStatement(orderstatus.toString());
DBCollection orderstat = db.getCollection("Orderstatus");
ResultSet v = t.executeQuery();
ResultSetMetaData rsm = t.getMetaData();
int column = rsm.getColumnCount();
while (v.next()) {
BasicDBObject orderObj = new BasicDBObject();
for(int x=1; x<column +1; x++){
String namn= rsm.getColumnName(x);
String custNum = (v.getString(x));
if (custNum != null && !custNum.trim().isEmpty()
&& custNum.length() != 0)
orderObj.append(namn, custNum);
}
orderstat.insert(orderObj)