如何在Mongo DB中维护一个Set?

时间:2015-06-01 15:43:55

标签: mongodb

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

Collection(id,<Set of String>).

在mongo db官方文档中,我找不到set datastructure。以下是对官方DOC的引用:http://docs.mongodb.org/manual/reference/bson-types/

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

2 个答案:

答案 0 :(得分:2)

BSON中没有专用的 set 类型。

但是,MongoDB有$addToSet数组更新运算符,它将数组视为一个集合。

答案 1 :(得分:2)

方法A:将其实现为子对象,其中只有键很重要且值无关:

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

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