Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:mongoDb中文档内的索引json数组_Java_Json_Mongodb - Fatal编程技术网

Java:mongoDb中文档内的索引json数组

Java:mongoDb中文档内的索引json数组,java,json,mongodb,Java,Json,Mongodb,我在mondoDB中有一组文档,其结构如下所示 "id":"documentId" { "listOfcards": [ { "cardId":1, "drawingpath": [ { "strokeId":1, "strokePoints":

我在mondoDB中有一组文档,其结构如下所示

    "id":"documentId"
    {
      "listOfcards":
      [
         {
          "cardId":1,
          "drawingpath":
            [
              {
                 "strokeId":1,
                 "strokePoints":
                 [
                    {
                       "x":100
                       "y":100
                    },
                    {
                       "x":50
                       "y":10
                    }
                 ]
              },
              {
                 "strokeId":2,
                 "strokePoints":
                 [
                      ...
                 ]
              }

            ]
          },
          {
             "cardId":2,
             ...
          }
      ]
   }
我正在编写一个Java程序来索引这个文档。我有以下几点意见

  • 文档ID
  • 卡迪德
  • 斯特罗基德
  • 如果假设我的输入是(“documentId”,1,1),那么我需要以下JSON对象

    "strokePoints":
    [
       {
          "x":100
          "y":100
       },
       {
          "x":50
          "y":10
       }      
    ]
    

    特别是,对于一个给定的文档、一个给定的cardID和一个给定的笔划ID,我想得到该笔划的最小值“x”和“y”。我有一个当前的实现,其中我有一个循环来迭代卡片对象列表,然后是一个内部循环来迭代该卡片中的笔划列表,另一个内部循环来迭代该笔划上的点,然后找到x和y的最小值。我想知道是否有其他方法可以对数据库进行索引以直接获取特定对象或仅获取最小值。

    尽管它们可能不是进行计算的工具(最小x&y),但一定值得一看这个JSON到JSON转换器。此工具可以帮助您将MongoDB文档转换为更适合使用的文档

    第二种方法可以是使用动态JVM语言(如Groovy)进行JSON操作。它们对遍历JSON(请参阅)和Groovy it编译器直接转换为Java字节码的支持要好得多