【问题标题】:How to retrieve a value from mongoDB?如何从 mongoDB 中检索值?
【发布时间】:2015-05-14 10:52:24
【问题描述】:

我是 mongoDB 的新手,并且在 mongoDB 中使用 java。我有一个 json,我想在其中检索列名而不是值。我还需要将它存储在两个不同的数组中。

期望的输出是:

column [ ] = 视图、AddToCart、AddToWishList、ZoomedProductImage

list [ ] = fSymbol, num, 运算符

和 JSON:

{
    "views": {
        "fSymbol": "",
        "num": 0.1,
        "operator": "*"
    },
    "AddToCart": {
        "fSymbol": "+",
        "num": 0.15,
        "operator": "*"
   },
   "AddToWishList": {
       "fSymbol": "+", 
       "num": 0.1,
       "operator": "*"
   },
   "ZoomedProductImage": {
       "fSymbol": "+",
       "num": 0.07,
       "operator": "*"
   }   
}

【问题讨论】:

标签: java mongodb mongodb-query mongo-java mongo-java-driver


【解决方案1】:

试试keySet()方法。

BasicDBObject searchQuery = new BasicDBObject();
DBCursor cursor = table.find(searchQuery);

while (cursor.hasNext()) {
    System.out.println(cursor.next().keySet());
}

查看docs

【讨论】:

  • 另外,我需要将它存储在一个字符串数组中。
  • 给出此错误:线程“main”中的异常 java.lang.ClassCastException:java.util.HashMap$KeySet 无法转换为 com.mongodb.BasicDBObject
  • while (cursor2.hasNext()) { BasicDBObject a=(BasicDBObject)cursor2.next().keySet(); }
  • 好吧我的坏尝试Set<String> a=cursor.next().keySet();方法keySet()返回Set<String>
【解决方案2】:

由于BasicDBObject 扩展了 HashMap,您只需从中获取密钥集。

【讨论】:

    猜你喜欢
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    • 2011-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多