Mongodb Mongo 4.2使用findAndModify进行聚合
我的文件结构如下:Mongodb Mongo 4.2使用findAndModify进行聚合,mongodb,mongodb-query,aggregation-framework,Mongodb,Mongodb Query,Aggregation Framework,我的文件结构如下: currentListIndex: number availableItems: [], tenant: string 如果租户不存在或availableItems为空,我想创建一个文档,使用预定义的项设置availableItems,并将currentListIndex设置为1,设置租户 如果租户存在且availableItems不为空,我想从列表中弹出一个值 如果租户存在且availableItems为空,我想增加currentListIndex并设置一个数组 如何使用
currentListIndex: number
availableItems: [],
tenant: string
如果租户不存在或availableItems为空,我想创建一个文档,使用预定义的项设置availableItems,并将currentListIndex设置为1,设置租户
如果租户存在且availableItems不为空,我想从列表中弹出一个值
如果租户存在且availableItems为空,我想增加currentListIndex并设置一个数组
如何使用find和modify
操作实现这一点
我试过这样的东西,但没用
collection().findAndModify(
{ tenantId: tenant.id, freeIndexes: { $size: { $ne: 0 } } },
{ freeIndexes: 1 },
{
$pop: { freeIndexes: 1 },
$set: { updatedAt: new Date() },
$setOnInsert: {
tenantId: tenant.id,
freeIndexes: rest,
$inc: { currentList: 1 },
createdAt: new Date(),
updatedAt: new Date(),
},
},
{ upsert: true, new: false }
);
您可以尝试使用-这将允许您指定带有条件的更新。