import mongoose from 'mongoose'
const holderSchema = new mongoose.Schema(
{
walletId: {
type: String,
required: true,
unique: true,
},
solBalance: {
type: Number,
default: 0,
min: 0,
},
liquidityPools: [
{
collectionId: {
type: mongoose.Schema.Types.ObjectId,
required: true,
},
lpTokens: {
type: Number,
required: true,
min: 0,
},
feeEarned: {
type: Number,
default: 0,
min: 0,
},
isActive: {
type: Boolean,
default: true,
},
},
],
},
{ timestamps: true }
)
export default mongoose.models.Holder || mongoose.model('Holder', holderSchema)
在这个模型中我怎么能做这样的事情 - liquidityPools.feeEarned += liquidityPools.lpTokens /100 所有文档的数组元素 liquidityPools.collectionId 为 5
await Holder.updateMany(
{ 'liquidityPools.collectionId': collectionId, 'liquidityPools.isActive': true },
{
$inc: {
'liquidityPools.$[elem].feeEarned': {
$multiply: [
'elem.lpTokens',100
],
},
},
}
)
})`
这是我尝试过的方法,但在 $inc 中使用 $multiple 似乎不起作用。