我是MongoDB的新手。我的样本html" target="_blank">文件是
{
"Notification" : [
{
"date_from" : ISODate("2013-07-08T18:30:00Z"),
"date_too" : ISODate("2013-07-30T18:30:00Z"),
"description" : "fdfd",
"url" : "www.adf.com"
},
{
"date_from" : ISODate("2013-07-01T18:30:00Z"),
"date_too" : ISODate("2013-07-30T18:30:00Z"),
"description" : "ddddddddddd",
"url" : "www.pqr.com"
}
],
我正在尝试更新其通知"url" : "www.adf.com"
。我执行此操作的Java代码是:
BasicDBObject query=new BasicDBObject("url","www.adf.com");
DBCursor f = con.coll.find(query);
它不会搜索其文件"url"
为"www.adf.com"
。
在这种情况下,您有一个嵌套的文档。您的文档具有一个字段Notification
,该字段是一个数组,其中存储有多个子对象url
。要在子字段中进行搜索,您需要使用点语法:
BasicDBObject query=new BasicDBObject("Notification.url","www.adf.com");
但是,这将返回整个文档和整个Notification
数组。您可能只需要子文档。要对此进行过滤,您需要使用Collection.find的两个参数的版本。
BasicDBObject query=new BasicDBObject("Notification.url","www.example.com");
BasicDBObject fields=new BasicDBObject("Notification.$", 1);
DBCursor f = con.coll.find(query, fields);
的.$
装置“这是由find-
操作者匹配这个阵列的仅第一条目”
这仍应返回一个带有子数组的文档Notifications
,但是此数组应仅包含where项url == "www.example.com"
。
要使用Java遍历此文档,请执行以下操作:
BasicDBList notifications = (BasicDBList) f.next().get("Notification");
BasicDBObject notification = (BasicDBObject) notifications.get(0);
String url = notification.get("url");
顺便说一句: 当数据库增长时,除非您创建索引以加速此查询,否则您可能会遇到性能问题:
con.coll.ensureIndex(new BasicDBObject("Notification.url", 1));
本文向大家介绍用MongoDB查询数组元素?,包括了用MongoDB查询数组元素?的使用技巧和注意事项,需要的朋友参考一下 查询数组元素时,MongoDB更好。让我们使用以下语法查询数组元素- 上面的语法将返回所有在数组字段中具有“ yourValue”值的文档。 为了理解这个概念,让我们用文档创建一个集合。使用文档创建集合的查询如下- 在method的帮助下显示集合中的所有文档。查询如下- 以下
本文向大家介绍用MongoDB子元素查询?,包括了用MongoDB子元素查询?的使用技巧和注意事项,需要的朋友参考一下 您可以为此使用位置运算符$。首先让我们创建一个包含文档的集合- 以下是在方法的帮助下显示集合中所有文档的查询- 这将产生以下输出- 这是在MongoDB中查询子元素的方法- 这将产生以下输出-
我有一个如下所示的数据库表: 我想使用PostgreSQL的JSON查询功能来选择JSON\u数组中的某些子字典,例如字典中的a:1。 输出应为 以下查询适用于每个数组中的第一个元素,但我想检查所有元素:
最近升级到使用PostgreSQL 9.3.1来利用JSON功能。在我的表中,我有一个json类型列,其结构如下: 就问题而言,这只是虚拟数据。 是否可以根据id查询电子邮件数组中的特定项目 差不多:“返回id=123的电子邮件)”?
我试图用C#在MongoDB中用嵌套数组文档实现文本搜索功能。我有一个以下格式的MongoDB集合。
问题内容: 我有一个像这样的数据结构 我需要查询“电话号码”中的所有元素,并且必须检查这些电话号码是否已存在于另一个集合中。我的数据结构的下一条路径是 是否可以在Firestore中进行任何索引编制? 问题答案: 如官方文档中所示: 尽管Cloud Firestore可以存储阵列,但可以 查询阵列成员或更新单个阵列元素。 如果只想获取整个数组,则需要像这样迭代: 但是请注意,即使对象作为数组存储在