Java 解析并选择mongodb

Java 解析并选择mongodb,java,mongodb,Java,Mongodb,我正在使用mongodb,并且面临一个问题 我想从存储在mongodb文档JSON中的URL中选择主机 我怎样才能实时做到这一点 我目前正在做的是,首先用主机更新每个记录的mongodb记录,然后在主机上进行分组 例如,假设我有url,然后我用域更新每个记录,这意味着example.com作为主机,然后我通过操作为我的组选择主机 因此,基本上我希望选择主机,但不使用主机更新每个记录 可能吗?怎么可能 谢谢 不知道是否有人得到了这个。 我认为这是一个很明显的例子, 在更新之前,我有这个 一,。 {

我正在使用mongodb,并且面临一个问题 我想从存储在mongodb文档JSON中的URL中选择主机

我怎样才能实时做到这一点

我目前正在做的是,首先用主机更新每个记录的mongodb记录,然后在主机上进行分组

例如,假设我有url,然后我用域更新每个记录,这意味着example.com作为主机,然后我通过操作为我的组选择主机

因此,基本上我希望选择主机,但不使用主机更新每个记录

可能吗?怎么可能

谢谢

不知道是否有人得到了这个。 我认为这是一个很明显的例子, 在更新之前,我有这个

一,。 { 网址:http://www.example.com/a/b/c }

更新后,我将此作为

二,。 { 网址:http://www.example.com/a/b/c, 主持人:www.example.com }

所以我想在我的分组中通过查询选择主机而不更新文档

---另一种解释。 我有一个如上所述的mongo文档,其url指向上面的1 所以,我如何在url的主机上进行分组查询,而不是url本身

       query = new BasicDBObject();            

        key = new BasicDBObject();
        key.put("url", true);

        DBCursor cursor = table.find(query,key);

        while(cursor.hasNext())
        {
            System.out.println(cursor.next()); //will print whole url
        }

        System.out.println("============Printing only host(domain) from url");

        key = new BasicDBObject();
        key.put("url", true);

        cursor = table.find(query,key);

        while(cursor.hasNext())
        {
            System.out.println(new URL(cursor.next().get("url").toString()).getHost());        //will print only host www.example.com
        }
`

上面的代码将首先打印url,然后使用游标仅打印主机

但我想通过某种方式提取url的主机域来分组

这就是为什么我现在要做的,我首先在url上分组以获得唯一的url,然后使用JAVA NET包的url类,我使用.getHost方法获得JSON文档的每个唯一url的主机,并使用主机更新它,如上面第2点所示

现在我可以轻松地在主机上进行分组

但是我不想先更新mongo文档, 我只想直接在主机上执行GROUPBY,这意味着选择url,但实时解析主机,这样我就可以减少使用主机更新每个文档的步骤

可能吗

我们可以在mysql中做些什么,我想是这样的,从表中选择somefunction\u gethosturl

我想现在我不能说得更清楚了

请检查此项,如果有解决方案,请给出解决方案


谢谢。

我想你可能需要展示一个更清晰的例子,当前的描述让我头晕目眩:我的意思是我有一个URL,我想选择主机或从中提取。可能吗?BasicDBObject键=新的BasicDBObject;key.puturl,true//这将为我提供url,但是像这样的key.putnew URLurl.getHost,true;//不知道这项工作或不这样,如果我有这样的钥匙;将生成,但我只想要url example.com的主机。我怎么能得到它呢?你检查过任何URL库吗?我在代码中使用java.net.URL包,但什么是URL库?它是用于mongodb java驱动程序的吗?您能更清楚地说明您的文档中需要两个fieldsurl和host,还是只需要一个包含数据的字段www.example.com