gpt4 book ai didi

mongodb - 如何在不使用唯一索引的情况下维护基于特定字段的数组的唯一性

转载 作者:可可西里 更新时间:2023-11-01 09:13:26 25 4
gpt4 key购买 nike

我有这样的文件。

[{
"_id" : ObjectId("aaa"),
"host": "host1",
"artData": [
{
"aid": "56004721",
"accessMin": NumberLong(1481862180
},
{
"aid": "56010082",
"accessMin": NumberLong(1481861880)
},
{
"aid": "55998802",
"accessMin": NumberLong(1481861880)
}
]
},
{
"_id" : ObjectId("bbb"),
"host": "host2",
"artData": [
{
"aid": "55922560",
"accessMin": NumberLong(1481862000)
},
{
"aid": "55922558",
"accessMin": NumberLong(1481861880)
},
{
"aid": "55940094",
"accessMin": NumberLong(1481861760)
}
]
}]

在更新任何文档时,不应在数组中再次添加重复的“aid”。我得到的一个选择是在 artData.aid 字段上使用唯一索引。但是建立索引不是首选,因为我不会根据要求需要它。有什么办法可以解决吗?

最佳答案

选项 1:在为该文档设计架构时使用 unique:true。例如:

var newSchema = new Schema({
artData: [
{
aid: { type: String, unique: true },
accessMin: Number
}]
});
module.exports = mongoose.model('newSchema', newSchema );

选项 2:refer a link to avoid duplicate

关于mongodb - 如何在不使用唯一索引的情况下维护基于特定字段的数组的唯一性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41178485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com