使用 X DevAPI 搜索嵌套数组

问题描述

我想使用 MysqL 数据库来管理 JSON 格式的文档集合。假设每个文档都有这样的结构:

import java.util.*;

public class Solution {

    public static String longpalindrome(String a) {
        Map<Character,Integer> map = new HashMap<>();
        for(int i=0; i<a.length(); i++) {
            map.put(a.charat(i),map.getorDefault(a.charat(i),0) + 1);
        }
        char mid = 0;
        boolean mid_chosen = false;
        StringBuilder left = new StringBuilder();
        for(Map.Entry<Character,Integer> entry : map.entrySet()) {
            if(!mid_chosen && entry.getValue() % 2 != 0) { //odd
                mid_chosen = true;
                mid = entry.getKey();
            }
            //Adding elements to left
            for(int k=0; k<entry.getValue()/2; k++) {
                left.append(entry.getKey());
            }
        }
        //New Step added to sort it lexicographically 
        char[] leftChArr = left.toString().tochararray();
        Arrays.sort(leftChArr);
        
        StringBuilder leftC = new StringBuilder(new String(leftChArr));
        StringBuilder right = new StringBuilder();
        //adding reverse elements to left
        for(int j=leftC.length()-1; j>=0; j--) {
            right.append(leftC.charat(j));
        }
        if(mid_chosen == true) {
            leftC.append(mid).append(right);
        } else {
            leftC.append(right);
        }
        return leftC.toString();
    }
    
    public static void main(String[] args) {
        String str = "adskassda";
        System.out.println(longpalindrome(str));
    }
}

如何使用 X DevAPI 查找“books”数组包含特定标题的文档?

解决方法

您可以使用包含 <the_title> in $.books[*].title 形式的 SearchConditionStr 表达式的 documentPathLastItem(前导 $. 应该是可选的),这取决于您使用的语言最终是这样的:

collection.find(':name in books[*].title')
  .bind('name','<the_title>')
  .execute()

免责声明:我是 Node.js 的 MySQL X DevAPI 连接器的首席开发人员