MongoDB (Java driver) 一次添加子子集合中的元素
MongoDB (Java driver) add element in a sub sub collection in one go
我有一个如下所示的文档:
{
"id":1,
"layers":
[{
"id" : 100,
"files": [{
"id":1,
"name":"test"
}]
}]
}
@Document(collections="tests")
public class Test() {
string id
Set<..> layers;
}
public class Layers() {
List<..> files;
}
是否可以(给定一个 documentId 和 layerId)在一个查询中添加一个新的文件对象?
像
db.test.update(
{ _id: 1 },
{ $push:
{
"layers.100.files": {"id":2,"name":"test2:}
}
}
)
当我尝试上面的操作时,出现如下错误:
不能使用部分(contentLayers ....)来遍历元素....
db.test.update(
{ $and: [{_id: "1"}, {"layers.id": "100" }]},
{ $push:
{
"layers.$.files": 1
}
}
)
这里是非java的版本,重要的是在数组
之前有这个$
请注意 'might' 还有另一种方法,但上面的方法对我有用
我有一个如下所示的文档:
{
"id":1,
"layers":
[{
"id" : 100,
"files": [{
"id":1,
"name":"test"
}]
}]
}
@Document(collections="tests")
public class Test() {
string id
Set<..> layers;
}
public class Layers() {
List<..> files;
}
是否可以(给定一个 documentId 和 layerId)在一个查询中添加一个新的文件对象? 像
db.test.update(
{ _id: 1 },
{ $push:
{
"layers.100.files": {"id":2,"name":"test2:}
}
}
)
当我尝试上面的操作时,出现如下错误: 不能使用部分(contentLayers ....)来遍历元素....
db.test.update(
{ $and: [{_id: "1"}, {"layers.id": "100" }]},
{ $push:
{
"layers.$.files": 1
}
}
)
这里是非java的版本,重要的是在数组
之前有这个$请注意 'might' 还有另一种方法,但上面的方法对我有用