【发布时间】:2021-06-20 00:50:28
【问题描述】:
$%所以我现在已经尝试了几个小时,但基本上我想在以前未找到该元素的所有文档中的数组内添加一个元素。我尝试了很多方法,例如 $elemMatch 和 $nin,但我还没有找到解决问题的方法。
示例 基本上我想要的设置是说有 3 个文档,只有 1 个文档在位于所有 3 个文档中的数组内有一个名为“橙色”的值,但其他 2 个文档没有橙色。我希望 api 看到它并将橙色元素添加到当前没有它的 2 个文档中。
显然这是我的问题的一个例子,而不是我需要它的用例,但基本上这是我迄今为止使用的代码。
const query = payload.query;
const mongodb = await context.services.get("mongodb-atlas");
const Lobbies = await mongodb.db("Sword_Universe").collection("Lobbies");
const lobby = Lobbies.updateMany(
{players: {$nin: query.playerName}},
{players: {$push: query.playerName}}
);
【问题讨论】:
-
两件事。存储在数组中的内容是原始字符串“Orange”还是托管对象?第二件事:从概念上讲,您所说的是对于所有没有“橙色”的对象,您希望它们具有“橙色”。这将转换为“所有对象都将具有“橙色””,对吧?