我在mongoDB中有一个相当复杂的数据结构。文件看起来有点像这样
{
"id" : 0,
"basket" : [
{
"price" : 0.9918,
"id" : 2500,
"exGroup" : [
{
"exgId" : 0,
"ePrice" : 0.9918
}
{
"exgId" : 1,
"ePrice" : 0.9918
}
]
}, ]}
我想在嵌入式文档的exGroup数组中添加一个文档数组,这样每个嵌入式文档看起来都像这样
{
"id" : 0,
"price" : 0.9918
"order" : {
"id":0,
"exec":
[{
"quantity" : 1,
"price" : 1.0
},
{
"quantity" : 1,
"price" : 1.01
}
]
}
我试着用如下的更新查询来实现这一点:
db.fund.update(
{
"id": 0,
"basket.id": 2500,
"basket.exGroup.exgId": 0,
"basket.exGroup.order": {"$exists" : false}
},
{
"$set":
{
"basket.exGroup.$.order" :
{
"id":0,
"exec":
[{
"quantity":1,
"price":0.9978
}]
}
}
}
)
不幸的是,这给了我错误“fundId”:0,“date”:ISODate(“2016-11-21T11:00:00.000 0000”),“basket.assetId”:2500,“basket.exGroup.exgId”:0
从根本上说,我的问题是我不知道如何正确处理多级数组(即doc.array.doc.array.doc)叶子上的文档
db.rich.update(
{
"id": 0,
"basket.id": 2500,
"basket.exGroup.exgId": 0,
"basket.exGroup.order": {"$exists" : false}
},
{
"$push":
{
"basket.$.exGroup" :
{
"id":0,
"exec":
[{
"quantity":1,
"price":0.9978
}]
}
}
}
)
这将基本上更新exGroup并推送一个新文档。然而,您需要相应地为文档建模。
我想在具有指定 URL 的相应文档中将嵌套的“已爬行”更新为 True。 我对mongodb相当陌生,我似乎无法弄清楚这一点,非常感谢任何帮助。
问题内容: 我浏览了猫鼬API,以及关于SO和google小组的许多问题,但仍然无法弄清更新嵌入式文档。 我正在尝试使用args的内容更新此特定的userListings对象。 以下是架构: 此发现也不起作用,这可能是第一个问题: 返回: 那应该等同于此mongo客户呼叫: 运行: 问题答案: 当您已有用户时,您可以执行以下操作: 如在这里找到:http : //mongoosejs.com/do
我需要使用嵌入层来编码单词向量,所以嵌入层的权重本质上是单词向量。显然,我不希望这种情况下的权重在反向传播期间被更新。我的问题是,如果按设计嵌入层已经禁止重量更新,或者我必须对此做一些特别的事情?
我刚开始使用Spring data mongob,但我只是被卡住了,如何使用mongo存储库编写基于json的嵌入式文档查询。 我的数据库看起来像 我想更新基于顶级文档id的子类型,我必须更新具有id 5565ad670cf25cbd975ab2d2的子类型的首选项,如何为此编写查询?
null 这些操作似乎效率不高。但是这种类型的更新是无处不在的,我相信开发者已经考虑到了这一点。那么,我哪里搞错了?
我有一个深度嵌套的文档结构,如下所示: 我正在尝试更新集合以插入新配置,如下所示: 我正在mongo(Python)中尝试类似的内容: 但是,我得到了“如果没有包含数组的相应查询字段,则无法应用位置运算符”错误。在mongo这样做的正确方式是什么?这是mongo v2。4.1.