问题标签 [mongo-collection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
869 浏览

java - MongoCollection:如何获取嵌套键的值

我有一些看起来像这样的 mongo 数据

我想知道它的价值key4是什么。我还需要按idkey和过滤结果key1。所以我尝试了

doc = mongoCollection.find(and(eq("idKey", 123),eq("objects.key1", 481334))).first();

这有效。但我想检查 的值key4而不必打开整个对象。是否有一些我可以执行的查询给我的值key4?请注意,我可以更新key4as

mongoCollection.updateOne(and(eq("idKey", 123), eq("objects.key1", 481334)),Updates.set("objects.$.key2.key4", "someVal"));

我是否可以运行类似的查询来获取的值key4

更新

非常感谢@dnickless 的帮助。我尝试了你的两个建议,但我得到了空值。这是我尝试过的

这给了我

到目前为止,一切都很好。接下来我尝试了

现在我试图将更新的文档作为

为此我得到了

最后我尝试了

为此我得到了

所以我很高兴:) 但是你能想出第一种方法不起作用的原因吗?

最终答案

感谢@dnickless 的更新

document = collection.find(and(eq("idkey", "123"), eq("objects.key1", "481334"))).projection(fields(excludeId(), include("key4", "objects.key2.key4"))).first();

0 投票
3 回答
242 浏览

java - java - 如何使用Java驱动程序在MongoDB中按用户名获取每个用户组的最后一个文档?

我创建了一个用于跟踪用户会话的集合。我想根据登录时间获取每个用户的最后一个会话。假设我的收藏中有一些文件。

我只想为每个用户获取一个具有最大创建时间的文档。输出应该是这样的 -

我正在使用 MongoCollection 类进行 MongoDB 操作。如何使用 MongoCollection 库获得此输出?

0 投票
1 回答
31 浏览

java - MongoClient 如果使用 Java 匹配,则带回数组中的单个项目

我有一个文件...

我正在尝试创建一个查询以返回任何具有“Amount_Required”键但没有“Amount_Payed”键的结果。

所以从上面的文件中,我希望得到这个结果......

这是我的Java代码...

问题是它没有返回任何东西,因为“Amount_Played”存在于数组的第二个元素中。我怎样才能达到这个结果?- 非常感谢

0 投票
0 回答
14 浏览

mongodb - 如何在集合 mongodb 上为特定键添加前缀

我有一个这样的数据集:

现在我想为列中的所有条目添加测试键的前缀。预期结果将是这样的:

我想在 TEST 上为所有人添加 @。任何帮助表示赞赏

0 投票
2 回答
7030 浏览

mongodb - 如何查看或修改在 MongoDB 集合上设置的排序规则选项?

您如何修改我们在创建集合时设置的选项?我们如何查看已经设置的选项?

例如,如果我们看到排序规则选项,我会创建一个这样的集合:

并添加一些文件:

如何将此集合的排序规则强度更改为 3?我如何看到变化?我在db对象或db.words对象或文档中看不到任何可用的相关功能!

0 投票
0 回答
137 浏览

mongodb - 在 MongoDB 上创建索引集合

假设我在这个数据库“test”中有一个名为“test”的 mongodb 数据库,我有 3 个集合,即“test-subone”、“test-subtwo”、“test-subthree”。让我们假设这 3 个集合有一个共同的属性,即“testattr”。我想要的是为这 3 个集合中的属性“testattr”创建一个文本索引。

如果我这样做,我是对的吗:

还是我必须为每个集合创建文本索引,即:

我想问一下,“db.collection.createIndex”和“db..createIndex”有什么区别?

非常感谢您的帮助

0 投票
0 回答
51 浏览

reactjs - 将 3rd 方 api 数据插入流星集合

我在尝试将从 CockTaiDB API 获取的一些数据保存到我的 Meteor 集合中时遇到问题

这是我保存到集合中的函数,但我得到的只是一个带有 id 的新条目。我使用 axios.get 检索数据,我应该使用 axios.post 以某种方式将其保存到我的 Drinks 集合中吗?

编辑:状态和 api 调用。使用按钮映射以添加名称、图像和说明。

0 投票
1 回答
76 浏览

mongodb - Java 应用程序无法识别我在 MongoDB 数据库中的集合。

我正在创建一个简单的 Web 应用程序,并尝试将应用程序连接到 MongoDB。这是我正在建立连接的课程。

公共类 JavaMongoDBConnection {

} }

当我将此类作为 Java 应用程序运行时,这是我的结果

数据库:admin 数据库:budget 数据库:config 数据库:db 数据库:local 数据库:myTestDB

但是,当我转到终端并运行以下命令时,这是我的结果。

  1. 显示数据库

响应:管理员 0.000GB 预算 0.000GB 配置 0.000GB 数据库 0.000GB 本地 0.000GB myTestDB 0.000GB

  1. 使用 myTestDB

  2. 显示收藏

回复:预算预算 myCollection

那么,为什么在我运行这个 java 应用程序时没有显示 Budget、budget 和 myCollection?

0 投票
1 回答
732 浏览

mongodb - 从 mongo 集合中检索对象中的数据

我正在使用流星,并且我没有输入“流星删除自动发布”,因此我相信我的客户能够毫无问题地检索 mongo 集合“列表”。

所以我在 List 集合中添加了 1 个对象,但我似乎无法从对象中检索数据。

但是当我写 conosle.log(List.find({module: "Math"}).user) 时,控制台中返回给我的内容是“未定义”。

这是有原因的还是我做错了什么?我想检索用户名“Tom”。因为我最终真正想做的是使用 javascript 本身中的值,例如 - var creator = List.find({module: "Math"}).user

0 投票
0 回答
38 浏览

python - Django mongo db过滤器查询不返回任何数据

当我尝试om = OttMessage.objects.filter()返回 ott_message 集合中的所有文档时。

但是当我尝试om = OttMessage.objects.filter(prediction_status = -1)它不返回任何数据时。

OttMessage model.py 相关行

prediction_status = IntField(default=-1, db_field='ps') 例如

ott_message 集合中有许多文档具有 prediction_status 字段 -1

谁能告诉我哪里出错了?谢谢