【发布时间】:2017-10-24 21:01:56
【问题描述】:
我正在构建一个 Android 应用,并使用 MongoDB Atlas 服务作为我的数据库。这是我第一次使用 MongoDB,我对文档的薄弱程度感到惊讶。
MongoDB 要求我使用缝合客户端库与 Atlas 服务交互。我正在使用最新的 'org.mongodb:stitch:0.1.0-SNAPSHOT' 库他们执行 FIND 的示例/模式是这样的......
Document query = new Document()
.append(Review.Field.RESTAURANT_ID, restaurant.getId())
.append(Review.Field.OWNER_ID, getUserId());
getDatabase().getCollection(DBCollections.REVIEWS_RATINGS).find(query).continueWith...
我正在尝试按照here 的描述执行“不同”命令。看起来我从 Mongo 获取信息的唯一方法是 FIND 方法,看起来我必须自定义查询的唯一方法是更改我构建并与方法调用一起发送的查询文档。如果我创建这样的查询文档...
Document query = new Document()
.append("distinct","Restaurants")
.append("key","type");
...它返回空白。我希望它从该集合中返回一组独特的餐厅类型(字符串)。
我也许可以使用管道,但该文档比 Stitch 库的文档更缺乏。我已经使用 Stitch 控制台中的 Debug 控制台尝试了 Find 和 Aggregate 查询。它看起来像是一个有用的调试工具,但它要求查询采用 JSON 格式,而且我还没有找到任何描述如何将查询格式化为他们想要的 JSON 模式的文档。
我希望有人能告诉我如何使用 Stitch 在 MongoDB Atlas 上完成“不同”的 MongoDB 查询。
【问题讨论】:
-
请注意,截至本问题,Stitch 目前处于 Beta 版,它的某些方面可能不一定能保留到最终版本,甚至没有正确记录。您可以将 MongoDB Atlas 用作数据库即服务,其中数据库本身及其各种驱动程序的文档非常丰富。
-
另外,您所指的
distinct手册页是针对Aggregation Pipeline 的。如果你不熟悉这些术语,我建议你先在university.mongodb.com注册一些免费的 MongoDB 大学课程@ -
正如我上面提到的,我知道我是 MongoDB 的新手,这就是我寻求 SO 指导的原因。我很欣赏到 university.mongodb.com 的链接。我以前没见过,有些课程看起来很有趣。我去看看。