【问题标题】:Not able to retrieve result from MongoDB无法从 MongoDB 检索结果
【发布时间】:2011-06-06 09:19:22
【问题描述】:
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”查找文档,即 mongoDB 中的“_id” 但是当我使用 -
query.put("_id", pageElementBean.getElement_id());
尽管字符串中存在给定“page_id”和“element_id”的文档存在于 mongoDB 中,但它没有得到结果

我哪里出错了

【问题讨论】:

  • 我得到了解决方案的使用 (new ObjectId(pageElementBean.getElement_id()))

标签: java json mongodb


【解决方案1】:

_id 是字符串还是使用 ObjectId?

如果是对象id,则需要说:

query.put("_id", new ObjectId(pageElementBean.getElement_id()));

(page_id 也是如此 - 如果那是 ObjectId)

您可以通过以下方式检查 shell 中的类型:

db.YOUR_COLLECTION_NAME.findOne();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-20
    • 1970-01-01
    • 1970-01-01
    • 2014-08-20
    • 1970-01-01
    • 2020-11-18
    • 1970-01-01
    相关资源
    最近更新 更多