Mongodb 如何在Mongo DB中维护集合?

Mongodb 如何在Mongo DB中维护集合?,mongodb,Mongodb,我希望我的数据库集合采用以下格式: Collection(id,<Set of String>). 集合(id,)。 在mongo db官方文档中,我找不到设置的数据结构。以下是官方文件的参考: 维护集合数据结构的原因是,如果我尝试在集合中为任何键添加重复值,则不应添加该值。BSON中没有专用的集合类型 但是,MongoDB有一个数组更新操作符,它将数组视为一个集合。方法a:将其作为一个子对象实现,其中只有键重要,值不相关: { "_id":ObjectId(whatev

我希望我的数据库集合采用以下格式:

Collection(id,<Set of String>).
集合(id,)。
在mongo db官方文档中,我找不到设置的数据结构。以下是官方文件的参考:

维护集合数据结构的原因是,如果我尝试在集合中为任何键添加重复值,则不应添加该值。

BSON中没有专用的集合类型


但是,MongoDB有一个数组更新操作符,它将数组视为一个集合。

方法a:将其作为一个子对象实现,其中只有键重要,值不相关:

{
    "_id":ObjectId(whatever),
    "set": {
        "Apple":true,
        "Banana":true,
        "Bob Ate My Sandwich":true,
        "Kiwi":true,
        "TheAnswerToLiveTheUniverseAndEverything":true
    }
}

方法B:使用字符串数组表示集合,并使用运算符添加值。

这不正是相关列上的唯一索引所要执行的吗?@fvu在本例中,没有。方法A比方法B有什么好处?@SylvainLeroux A因为多余的值而有更多的开销,并且不是索引友好型的,但是更简单,因为添加重复项是不可能的。$addToSet是我正在寻找的。谢谢@Philipp