mongodb-query相关内容

选择 2 个字段并返回一个带有不同值的排序数组

假设我们有以下文档: {a: 1, b: 2},{a: 2, b: 0},{a: 3, b: 1} 我想要一个会返回的查询: [0, 1, 2, 3] 我想知道是否有比以下更快的方法: 只进行 2 个查询,一个选择 a,另一个选择 b 然后合并到我的应用程序中. 使用 map reduce(与之前的方法相比确实很慢) 解决方案 您需要 $group 我们的文档并使用 $pu ..
发布时间:2022-01-07 15:08:24 其他开发

获取具有不同标准的最后一个文档

情况 我在想出一种执行某个 MongoDb 查询的好方法时遇到了麻烦.首先,这是我想做的查询类型.假设有一个简单的数据库,它通过电子刷卡来记录进入和退出事件(以及可能的其他操作,无关紧要).所以有一个名为 swipelog 的集合,其中包含如下所示的简单文档: {_id: ObjectId("524ab4790a4c0e402200052c")name: "John Doe",动作:“进入 ..
发布时间:2022-01-07 15:08:17 前端开发

mongodb 在更新中设置为空

我必须交换文档的值. var query = {"_id" : ObjectId("53e1c254382f891cc600076d")};db.properties.find(query).forEach(function(prop){printjson({"_id":prop._id, "val":prop.val, "ua":prop.ua});db.properties.update(q ..
发布时间:2022-01-07 15:07:59 其他开发

将 Mongo 中的一些字段从字符串转换为数组

我有一个文档集合,其中“标签"字段从空格分隔的标签列表切换到单个标签的数组.我想将以前的空格分隔字段更新为像新传入数据一样的数组. 我也遇到了 $type 选择器的问题,因为它将类型操作应用于单个数组元素,这些元素是字符串.所以按类型过滤只会返回所有内容. 如何将每个看起来像第一个示例的文档转换为第二个示例的格式? {"_id" : ObjectId("12345"),“标签":“红 ..

MongoDB - 存储没有时区的日期

我们有一个简单的应用程序,其中所有用户都在同一时区 &因此我们对在 mongo 日期对象中存储时区信息不感兴趣. 这种极端步骤的原因是我们有多个微服务使用由不同开发人员管理的公共数据库.他们每个人都需要在查询中明确设置与时区相关的内容在无效数据集中忘记相同的结果. 由于目前 MongoDB 的人们Mongo 数据类型 不支持存储没有时区的日期. 只是想知道这是他们在 mon ..

获取MongoDB数组字段中给定元素的索引

想想这个 MongoDB 文档: {_id:123, "food":[ "apple", "banana", "mango" ]} 问题:如何获取mango在食物中的位置? 上面的查询应该返回2,不要返回整个文档. 请显示工作查询. 解决方案 从 MongoDB 3.4 版开始,我们可以使用 $indexOfArray 运算符,用于返回可以在数组中找到给定元素的索引. ..

在 MongoDB 表达式中使用 $exists

对于背景,如果我想比较两个字段,我不能使用以下语法(因为它比较的是文字字符串“$lastName"而不是 $lastName 字段的内容): "$match": { "firstName": { $ne : "$lastName"} } 我必须使用这个: "$match": { "$expr": { $ne : [ "$firstName", "$lastName" ] } } 如果我想测 ..
发布时间:2022-01-07 15:07:11 其他开发

如何在 mongoDB 中进行字母数字排序?

我有一个这样的收藏. {"userID" : "TR31"}{“用户ID":“TR1059"}{“用户ID":“TR1043"} 我想按升序或降序对这个文档进行排序,我试过这种方式 db.col.find({}).sort({"userID" : 1}) 和 db.col.find({}).sort({"userID" : -1}) 但没有运气. 预期结果: {"userID" : ..
发布时间:2022-01-07 15:06:45 其他开发

MongoDB按数组中的元素分组

我有一个看起来像这样的集合: {“id":“id1",“标签":['a', 'b']},{“id":“id2",“标签":['b', 'c']},{“id":“id3",“标签":['a', 'c']} 如何进行按“标签"中的每个元素分组的查询?数组,所以结果看起来像这样?: {'a': 2},{'b': 2},{'c':2} (其中 2 是出现的次数,计数).感谢您的帮助! 解决方 ..
发布时间:2022-01-07 15:06:28 其他开发

在单个查询中从 Mongo DB 中删除最新文档

我想在单个查询中从我的 MongoDB 中删除最新的文档. 我尝试了一些命令,但它们似乎不起作用. 解决方案 你要找的基本操作是 findOneAndDelete() in mongoose 这是一个原子操作,返回带有响应的“已删除"文档.这只会影响单个文档,您可以通过在选项中应用排序规范来获得“最后一个". 然后,您基本上有两个“last"选项,或者通过包含您存储在文档中的 ..
发布时间:2022-01-07 15:06:05 其他开发