当前位置: 首页 > 知识库问答 >
问题:

使用Java驱动程序创建MongoDB视图

宋鸿德
2023-03-14

如何在mongo db中创建一个可以公开集合中所有文档的视图?我使用了以下代码:

java.util.List<Bson> tstL = new ArrayList<>();
db.createView("tst_view","collection_name",tstL);

我正在尝试用管道空列表,但它不工作。你能帮忙吗?

共有1个答案

司徒俊良
2023-03-14
    database.createView("Tree", "Node", asList(
            new Document("$graphLookup",
                    new Document("from", "Node")
                            .append("startWith", "$childrenRefs")
                            .append("connectFromField", "childrenRefs")
                            .append("connectToField", "_id")
                            .append("as", "children")
            )
    ));
 类似资料:
  • 问题内容: 我们当前的连接配置如下所示: 并且已在当前版本(源代码)中弃用,并将被删除:“此方法无法替代。使用connectTimeout属性控制连接超时。” 我认为重试和连接超时是两回事。有谁知道为什么改变了它以及它有什么(内部)含义? 问题答案: 关于autoConnectRetry的含义有很多困惑。大多数人认为这意味着,如果操作由于IOException而失败,驱动程序将重试该操作,直到ma

  • 服务器上的mongodb版本将比驱动程序版本旧。我的java驱动程序版本是3.6,Mongo-版本显示我是2.4 我该怎么解决这个问题?

  • 驱动程序版本为: 我的问题是,当我使用api find和一些来自java的过滤器时,操作需要15秒。 我检查了mongo服务器日志文件,发现跟踪是一个命令,而不是一个查询: 2015-09-01T12:11:47.496+0200I命令[conn503]命令b.$CMD命令:计数{count:“logs”,查询:{timestamp:{$GTE:新日期(1433109600000)},aplica

  • 通过使用MongoDB和Java驱动程序,我有一个用户集合,我想根据他们的ObjectId进行查询(总体情况:我从ObjectId推断出对象的创建时间戳)。 问题是,用ObjectId查询似乎不起作用:我总是没有结果。为了测试的目的,我在搜索查询中硬编码了数据库中现有用户的ObjectId,只是为了确保我能得到结果: {“_id”:ObjectId(“565ef85ee4b0a4db3c2fc96

  • 问题内容: 我正在尝试或在MongoDB中使用某些条件(使用Java驱动程序)。这就是我在做什么: 我想在这些条件下使用操作数,但是我想默认值是“和”,我不知道如何更改它。在上面的代码中,如果条件之一返回,结果也将是。 问题答案: 您正确地说,在查询中指定多个字段的“默认”是每个字段都用作条件过滤器,因此是“与”运算。 您可以使用具有以下语法的$ or操作数,通过OR子句执行MongoDB查询:

  • 我试图使用servlet上的Java驱动程序连接到托管在mlab上的MongoDB数据库。 问题是我得到以下错误: 这样做对吗?我还应该做什么/代替吗?