Arrays 如何从json中删除空数组。我在数组中没有元素,我想删除数组。它的嵌套数组
如何在MongoDB中从JSON中删除空数组。我在对象中有多个数组Arrays 如何从json中删除空数组。我在数组中没有元素,我想删除数组。它的嵌套数组,arrays,node.js,mongodb,mongodb-query,aggregation-framework,Arrays,Node.js,Mongodb,Mongodb Query,Aggregation Framework,如何在MongoDB中从JSON中删除空数组。我在对象中有多个数组 db.runCommand({ update: "table", updates: [ { q: {_id: { $in: ['id1', 'id2']}}, u: { $pull: { "a.b" : { "a.$[].b.$[].c" : { $exists: true, $size: 0 } }} } } ] }) 它只告诉空数组,但不修改
db.runCommand({
update: "table",
updates: [
{
q: {_id: { $in: ['id1', 'id2']}},
u: {
$pull: { "a.b" : { "a.$[].b.$[].c" : { $exists: true, $size: 0 } }}
}
}
]
})
它只告诉空数组,但不修改它。您几乎做到了,但需要使用$unset,而不是$pull,因为pull只从数组中删除数据,而unset将删除数组本身
db.runCommand({
update: "table",
updates: [
{
q: {_id: { $in: ['id1', 'id2']}},
u: {
$unset: { "a.b" : { "a.$[].b.$[].c" : { $exists: true, $size: 0 } }}
}
}
]
})
差不多就到了,但是需要使用$unset而不是$pull,因为pull只是从数组中删除数据,而unset将删除数组本身
db.runCommand({
update: "table",
updates: [
{
q: {_id: { $in: ['id1', 'id2']}},
u: {
$unset: { "a.b" : { "a.$[].b.$[].c" : { $exists: true, $size: 0 } }}
}
}
]
})
如果我的答案解决了您的问题,请将其标记为已接受,以便开发人员能够了解这一点,不要将时间浪费在已解决的问题上。如果我的答案解决了您的问题,请将其标记为已接受,以便开发人员能够了解这一点,不要将时间浪费在已解决的问题上。