要在文档的两个数组中获取唯一值,请在aggregate()中使用$setUnion。的$setUnion采用两个或多个阵列,并返回包含出现在任何输入数组元素的数组。
让我们创建一个包含文档的集合-
>db.demo608.insertOne({"ListOfName1":["John","Chris","Bob","David"],"ListOfName2":["Bob", "Sam","John","Robert","Chris"]} ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e974542f57d0dc0b182d62b") }
在find()方法的帮助下显示集合中的所有文档-
> db.demo608.find().pretty();
这将产生以下输出-
{ "_id" : ObjectId("5e974542f57d0dc0b182d62b"), "ListOfName1" : [ "John", "Chris", "Bob", "David" ], "ListOfName2" : [ "Bob", "Sam", "John", "Robert", "Chris" ] }
以下是查询以在一个MongoDB文档中的两个数组中获取唯一值-
> db.demo608.aggregate([ ... {$project:{SetOfNames:{$setUnion:['$ListOfName1','$ListOfName2']}}} ... ]).pretty();
这将产生以下输出-
{ "_id" : ObjectId("5e974542f57d0dc0b182d62b"), "SetOfNames" : [ "Bob", "Chris", "David", "John", "Robert", "Sam" ] }
我是新的MongoDB,并试图从数据库检索单个文档的大小。 数据库名为“”集合名为“” 我试过: 我也尝试过: 但它只返回。如何获取文档的大小?非常感谢。
问题内容: 如何获得数组中唯一值的列表?我是否总是必须使用第二个数组,或者是否有类似于JavaScript中Java哈希表的东西? 我将仅使用 JavaScript 和 jQuery 。不能使用其他库。 问题答案: 由于我在@Rocket答案的注释中继续进行了讨论,因此我不妨提供一个不使用任何库的示例。这需要两个新的原型函数,并且 为了提高可靠性,可以用MDN的垫片代替,并检查每个元素的值是否等于
本文向大家介绍写一个方法获取指定数组中间的值(一个或者两个)相关面试题,主要包含被问及写一个方法获取指定数组中间的值(一个或者两个)时的应答技巧和注意事项,需要的朋友参考一下
我使用的是,我希望当我获得一个包含引用字段的文档时,将引用字段作为一个文档接收,而不是作为对该文档的引用... 我有一个用户集合和一个类集合(在学校),每个类都包含一个对用户(这门课的学生)的引用列表。当我使用(通过引用获取类)时,它返回一个包含(用户的)列表的对象,因此我需要再调用大约20次,以便将用户作为对象获取,而不是作为对它们的引用获取。 我希望能够调用一次,它将为我带来作为文档的所有引用
我有两个如图所示-和。我正在比较这两个值,并从中找到唯一的和重复的值,如下代码所示: 我正在正确获取,但没有获取唯一值。
我有一份这样的文件 上面的文档可以这样概括如下,便于理解。 我需要增加nums子文档中数量的值,该值位于产品子文档中,基于其\u id。 这是我迄今为止所尝试的,但它不起作用,因为我不知道如何捕获nums对象内的\u id,以便更新子子文档数组中的特定对象。 我怎样才能做到这一点?