Не удалось получить результат из MongoDB - PullRequest
0 голосов
/ 06 июня 2011
private String pageElementUpdateProperty="{'user_id':'4d9fe87d1e327f0858000003','session_token':'84146295a9c0eb344f68510ac3645763','project_id':'4dac27b6156aec840d000007','page_id':'4db90554156aec180a000005','element_id':'4dec8964206b74b0dbe2236a',property:{style:{left:177.5,'top':153.5,'width':600,'height':800}}}";

DBCollection collPageElement = getServerDocument("PageElementCollection");
JSONObject jsonPageElementObject=JSONObject.fromObject(pageElementUpdateProperty);
PageElmentBean pageElementBean = (PageElmentBean) JSONObject.toBean(jsonPageElementObject,PageElmentBean.class);//fill the fields of Bean with JSON object..this i'm gettig correctly

BasicDBObject query = new BasicDBObject();
query.put("_id", pageElementBean.getElement_id());
query.put("page_id", pageElementBean.getPage_id());

DBCursor cur;
cur = collPageElement.find(query);

Теперь я должен найти документ, используя "element_id", который "_id" в mongoDB но когда я использую -
query.put("_id", pageElementBean.getElement_id());
результат не получается, хотя документ с указанными в строке "page_id" и "element_id" существует в mongoDB

где я делаю ошибку

1 Ответ

0 голосов
/ 06 июня 2011

_id является строкой или использует ObjectId?

Если это идентификатор объекта, вам нужно сказать:

query.put ("_ id", новый ObjectId (pageElementBean.getElement_id ()));

(То же самое относится и к page_id - если это ObjectId)

Вы можете проверить тип в оболочке, сказав:

db.YOUR_COLLECTION_NAME.findOne ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...