MongoDB:为嵌套文档创建唯一索引

问题描述 投票:-1回答:1
Array
(
    [_id] => 1
    [OrderId] => 123456_0203_2500001101518267176
    [Items] => Array
       0 =>  Array (
            [ItemId] => "123456"
            [ItemDesc] => "This Item numer 123456"
        ),
       1 =>  Array (
            [ItemId] => "123457"
            [ItemDesc] => "This Item numer 123457"
        ),


)

Array
(
    [_id] => 1
    [OrderId] => 123456_0203_2500001101518267199
    [Items] => Array
       0 =>  Array (
            [ItemId] => "123458"
            [ItemDesc] => "This Item numer 123458"
        ),
       1 =>  Array (
            [ItemId] => "123459"
            [ItemDesc] => "This Item numer 123459"
        ),


)

我想让ItemId在文档和文档中都是唯一的。

唯一索引仅提供文档的唯一性。但是,我想限制在文档中重复相同的ItemId。

arrays mongodb unique-index mongodb-indexes
1个回答
0
投票

插入/更新文档时可以使用$addToSet。我认为你不需要索引。

使用$addToSet的示例

db.test.update(
   { _id: 1 },
   { $addToSet: {letters: [ "c", "d" ] } }
)

详细信息:https://docs.mongodb.com/manual/reference/operator/update/addToSet/

© www.soinside.com 2019 - 2024. All rights reserved.