0
我在DB中拥有一个集合,并且可以很好地将其获取到DBCollection。 但是,当我尝试使用字符串字段查询它时,它不返回任何结果。Java MongoDB无法使用集合中的字符串条件进行查询
但是,当我使用Integer字段进行查询时,该查询返回同一数据集的结果。
这里是我的考验:
// It doesn't work this way, cursor has nothing
DBObject allQuery = new BasicDBObject();
allQuery.put("data", "someName");
List cursor = collection.find(allQuery).toArray();
// This time it works, only change is that I query with an Integer value now
DBObject allQuery = new BasicDBObject();
allQuery.put("xyz", 1);
List cursor = collection.find(allQuery).toArray();
这是从数据库返回的集合:
{ "_id" : { "$oid" : "574c780aa8268280d1b53162"} , "id" : 1 , "name" : "\"Some name\"" , "city" : "\"Ankara\"" , "country" : "\"Turkey\""}
我怀疑那些字符串表示用“\”字符,但找不到任何解决方法,它无论是。
我已经检查了几十篇文章和MongoDB文档,但似乎没有什么特别的。但有趣的是它不起作用。
希望你能告诉我一个方法来解决这个问题。 谢谢。
当我插入,我只是简单地推列表到DB,为什么这些报价存在? –
neocorp
@NiyaziErdogan这些对象是如何生成的? – shmosel
我从CSV文件中读取它们并将其添加到列表中,而无需进行任何修改。 – neocorp