Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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树_Java_Mongodb_Tree_Driver_Nosql - Fatal编程技术网

Java 具有父引用的MongoDB树

Java 具有父引用的MongoDB树,java,mongodb,tree,driver,nosql,Java,Mongodb,Tree,Driver,Nosql,我正在尝试创建一个树来存储按路径排序的信息,例如: …/数据/汽车/丰田 …数据/汽车/菲亚特 我发现的问题是Java语法本身,如何创建父级和子级? 我已经彻底阅读了以下链接,但仍然无法用java开发我需要的内容: 您能给我提供一个简单的Java代码片段,允许创建树+创建父级,并为该父级创建子级吗 事先非常感谢 我现在尝试创建根目录: DBCollection coll = db.getCollection(DataColl); BasicDBObject data = new BasicDB

我正在尝试创建一个树来存储按路径排序的信息,例如: …/数据/汽车/丰田 …数据/汽车/菲亚特

我发现的问题是Java语法本身,如何创建父级和子级? 我已经彻底阅读了以下链接,但仍然无法用java开发我需要的内容:

您能给我提供一个简单的Java代码片段,允许创建树+创建父级,并为该父级创建子级吗

事先非常感谢

我现在尝试创建根目录:

DBCollection coll = db.getCollection(DataColl);
BasicDBObject data = new BasicDBObject("_id", appId);
data.put("path", null);
coll.insert(data);
下面是创建孩子的步骤:

    public boolean insertIntoDocument(String appId, String url, String data) {
    DBCollection coll = db.getCollection(DataColl);
    String[] array = url.split("/");
    BasicDBObject obj = new BasicDBObject("_id", array[array.length-1]);
    for(int i = 0; i < array.length; i++){
        if(i == array.length-1)
            obj.put("path", array[i]);
        else
            obj.put("path", array[i]+",");
    }
    coll.insert(obj);
    return true;
public boolean insertintocument(字符串appId、字符串url、字符串数据){
DBCollection coll=db.getCollection(DataColl);
String[]数组=url.split(“/”);
BasicDBObject obj=新的BasicDBObject(“_id”,数组[array.length-1]);
for(int i=0;i
我最终自己找到了答案,希望这将对未来的新手有所帮助。这段代码接收一个url,如a/b/c,并创建一个树。我使用appId作为根,您可以使用用户标识符(每个用户都有自己的url)等

public boolean insertintocument(字符串appId、字符串url、字符串数据){
DBCollection coll=db.getCollection(DataColl);
String[]数组=url.split(“/”);
字符串tempURL=appId;
for(int i=0;i
public boolean insertIntoDocument(String appId, String url, String data) {
    DBCollection coll = db.getCollection(DataColl);
    String[] array = url.split("/");
    String tempURL = appId;
    for (int i = 0; i < array.length; i++) {
        BasicDBObject obj = new BasicDBObject("_id", array[i]);
        if (i == array.length - 1) {
            tempURL += ","+array[i];
            obj.put("path", tempURL);
            obj.append("data", data);
        } else {
            tempURL += ","+array[i];
            obj.put("path", tempURL);
        }
        if(!elementExistsInDocument(appId, tempURL))
            coll.insert(obj);
    }
    return true;