mongodb 中包含对象数组的 UpdateMany 文档
UpdateMany document with array of objects in mongodb
我有一个 mongodb 集合,看起来像这样
[
{
pId: "p1",
apikey: "a2",
count: 0
},
{
pId: "p2",
apikey: "a2",
count: 0
},
{
pId: "p2",
apikey: "a3",
count: 0
}
]
我有一个输入,它是对象数组。我想增加计数。
输入对象如下
[
{
pId: "p1",
apikey: "a2"
},
{
pId: "p2",
apikey: "a2"
}
]
以上 2 个输入对象与集合中存在的前 2 个对象匹配。
我通过迭代输入数组来递增。
还有其他方法可以实现吗?
您可以在 $or
条件下传递您的输入项,并使用 $inc
、
将 count
递增 1
let items = [
{ pId: "p1", apikey: "a2" },
{ pId: "p2", apikey: "a2" }
];
db.collection.updateMany({ $or: items }, { $inc: { count: 1 } });
我有一个 mongodb 集合,看起来像这样
[
{
pId: "p1",
apikey: "a2",
count: 0
},
{
pId: "p2",
apikey: "a2",
count: 0
},
{
pId: "p2",
apikey: "a3",
count: 0
}
]
我有一个输入,它是对象数组。我想增加计数。 输入对象如下
[
{
pId: "p1",
apikey: "a2"
},
{
pId: "p2",
apikey: "a2"
}
]
以上 2 个输入对象与集合中存在的前 2 个对象匹配。 我通过迭代输入数组来递增。 还有其他方法可以实现吗?
您可以在 $or
条件下传递您的输入项,并使用 $inc
、
count
递增 1
let items = [
{ pId: "p1", apikey: "a2" },
{ pId: "p2", apikey: "a2" }
];
db.collection.updateMany({ $or: items }, { $inc: { count: 1 } });