Java Mongodb numberlong查询
我正在尝试从mongoDB获取特定数据。我有5个字段,用户可以根据这些字段进行搜索。这是我的代码:
Map<Object, Object> fields = new HashMap<Object, Object>();if (textField.getText().length() != 0)
fields.put("FirstName", textField.getText());
if (textField_1.getText().length() != 0)
fields.put("LastName", textField_1.getText());
if (textField_2.getText().length() != 0)
fields.put("City", textField_2.getText());
if (textField_3.getText().length() != 0)
fields.put("EmailAddress", textField_3.getText());
if (textField_4.getText().length() != 0)
fields.put("PhoneNumber", "NumberLong(" + textField_4.getText() + ")");
query.putAll(fields);
long startTime = System.nanoTime();
DBCursor result = coll.find(query);
ArrayList<ArrayList<Object>> list = createListDataMongo(result);
除电话号码外,所有搜索字段均有效。当我添加到查询电话号码后,什么也没有返回。PhoneNumber
是NumberLong
我的mongoDB数据库中的一个字段。我该如何解决这个问题?
回答:
fields.put("PhoneNumber", "NumberLong(" + textField_4.getText() + ")");
搜索PhoneNumber
值"NumberLong(" + textField_4.getText() +
")"类型为text
(String)的文档。
请尝试这个。
fields.put("PhoneNumber", Long.parseLong(textField_4.getText()));
和往常一样,处理异常。
以上是 Java Mongodb numberlong查询 的全部内容, 来源链接: utcz.com/qa/431849.html