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);

除电话号码外,所有搜索字段均有效。当我添加到查询电话号码后,什么也没有返回。PhoneNumberNumberLong我的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

回到顶部