我基本上是想为每个用户做一个清单,为此我用label
来帮助我处理数据。
我当前的结构是这样的:
Lowdb
我的想法就像
{
"users": [
{
"id": "450453034724491266",
"tag": "Briggs#4992",
"inventory": [
{"itemID": "1320488779", "rarity": "rare"},
{"itemID": "1674364779", "rarity": "common"},
]
},
{
"id": "272659147974115328",
"tag": "Zytekaron#0572",
"inventory": [
{"itemID": "1320488779", "rarity": "rare"},
{"itemID": "1674364779", "rarity": "common"},
]
}
]
}
答案 0 :(得分:0)
两个快速答案:
通过ID获取对象。修改->替换-保存;
您可以执行如下分配:object.assign({inventory:[newInventory]})。write();
其中object是您刚从数据库获得的用户。
答案 1 :(得分:0)
测试了此代码段,它运行正常。
// Get your user
let inventory = db
.get('users')
.find({ id: '272659147974115328' })
.get('inventory')
.value();
// Do something to your user's inventory
inventory.push({ itemID: '9999999', rarity: 'common' });
// Update the user with the modified inventory
db.get('users')
.find({ id: '272659147974115328' })
.assign({ inventory })
.write();
答案 2 :(得分:0)
应该可以直接使用 push
:
db
.get('users')
.find({ id: '272659147974115328' })
.get('inventory')
.push({ itemID: '9999999', rarity: 'common' })
.write();