Mongoose 如何从子文档中删除数组元素
我有一份布局如下的文件:Mongoose 如何从子文档中删除数组元素,mongoose,Mongoose,我有一份布局如下的文件: { "A1" : { "B1" : { "C1" : [ ObjectId("123"), ObjectId("456") ], "C2" : [ ObjectId("789"), ObjectId("abc") ]
{
"A1" : {
"B1" : {
"C1" : [
ObjectId("123"),
ObjectId("456")
],
"C2" : [
ObjectId("789"),
ObjectId("abc")
]
},
"B2" : {
"C1" : [
ObjectId("def"),
ObjectId("hij")
],
"C2" : [
ObjectId("klm"),
ObjectId("nop")
]
}
}
}
我想使用数组元素的ID从A1.B1.C1中删除其中一个数组元素
我正在使用以下更新代码:
{
"A1" : {
"B1" : {
"$pull" : {
"C1" : "123"
}
}
}
}
但这会导致以下结果:
{
"A1" : {
"B1" : {}
}
}
我尝试过更新代码的不同变体,例如:
{
"A1" : {
"B1" : {
"C1" : {
"$pull" : "123"
}
}
}
}
但这会导致以下错误:
Cast to [ObjectId] failed for value "[{"$pull":"123"}]"
有人能提供一些关于如何从子文档中删除特定数组元素的指导吗?您是否尝试过:
"$pull" : {
"A1.B1.C1" : mongoose.Types.ObjectId("123")
}
应该能行。谢谢!你现在是我最喜欢的人!