如何用mongoose更新这个文档中的数组中的对象中的数组里的值?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用mongoose更新这个文档中的数组中的对象中的数组里的值?相关的知识,希望对你有一定的参考价值。
第一张图是我想要更新的数据,第二张图是我自己写的(但是修改不了),恳请大佬们指教指教,谢谢了
是数组常量的最简单的情况。一维,里面的元素仅仅是标量数值。 提问时注意你的言辞。又是错别字又是蔑称的,你写好发出来之前都不读一遍吗?对回答你问题的人这么点敬意都没有? “编程>>数组>>数组常量”放到程序框图中是一个数组常量的框架,放一个数值常量进来就确定了这个数组的结构,至于数值用默认的i32还是double或者其他类型,现在和你说了你也不懂。然后纵向拉长最外层边框,就同时显示了前面多个元素,现在就可以填入这几个元素的值了。填好后就是这个样子了。 “嘛”是在陈述句后面用的。疑问句后面应该用“吗”。 添加,不是填加,你也可以问是怎么填的。 称呼“东西”,你让我们情何以堪啊。 参考技术A 不知道还来不来得及,你可以试试req.Model.update(_id:...,"more.id":...,
$set:
"more.$.biz_ext.$.meal_ordering": 你要修改的值
)
Mongoose - 如何从集合中的每个文档中检索对象数组?
【中文标题】Mongoose - 如何从集合中的每个文档中检索对象数组?【英文标题】:Mongoose - How to retrieve an array of objects from each document in collection? 【发布时间】:2019-02-07 23:52:49 【问题描述】:我的集合中的每个文档看起来都像这样(JSON):
name: "Roger",
matches: [
opponent: "Rafael Nadal",
match_date: 1494536400000
,
opponent: "Nick Kyrgyos",
match_date: 1494557400000
]
我想提取每个玩家的所有比赛,并使用 Mongoose 按match_date
对它们进行排序,但我不知道如何。
你能帮我解决这个问题吗?
【问题讨论】:
【参考方案1】:你可以试试下面的聚合
db.collection.aggregate([
"$unwind": "$matches" ,
"$sort": "matches.match_date": 1 ,
"$group":
"_id": "$_id",
"matches": "$push": "$matches"
,
"$limit": 20 ,
"$project": "matches": 1, "numberOfMatches": "$size": "$matches"
])
【讨论】:
我收到以下错误:Sort exceeded memory limit of 104857600 bytes, but did not opt in to external sorting. Aborting operation. Pass allowDiskUse:true
用.allowDiskUse(true)
修复了它。我也想使用分页(limit()),但只有在排序成功完成之后。你知不知道怎么?谢谢!
您可以在$project
阶段之前使用$limit
...更新了答案
有没有办法“不分组”结果?我想要所有网球运动员的所有网球比赛
我听不懂...你能用示例输出问一个新问题吗...我最好在新答案中解释一下以上是关于如何用mongoose更新这个文档中的数组中的对象中的数组里的值?的主要内容,如果未能解决你的问题,请参考以下文章
$addToSet 对象到 mongoose 中的数组 [重复]