Java Mongodb numberlong查询 [英] Java Mongodb numberlong query

查看:69
本文介绍了Java Mongodb numberlong查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从mongoDB获取特定数据.我有5个字段,用户可以根据这些字段进行搜索.这是我的代码:

I am trying to get specific data from mongoDB. I have 5 fields that user can make search based on these. Here is my code :

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是我的mongoDB数据库中的NumberLong字段.我该如何解决这个问题?

All of the search fields works except for phone number. When I have added to the query phone number nothing returns. PhoneNumber is a NumberLong field in my mongoDB database. How can I handle this problem?

推荐答案

fields.put("PhoneNumber", "NumberLong(" + textField_4.getText() + ")");

搜索类型为text(字符串)的值"NumberLong(" + textField_4.getText() + ")"的文档.

searches for documents where PhoneNumber has the value "NumberLong(" + textField_4.getText() + ")" of type text(String).

请尝试这个.

fields.put("PhoneNumber", Long.parseLong(textField_4.getText()));

和往常一样,处理异常.

And as usual, handle the exceptions.

这篇关于Java Mongodb numberlong查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆