如何使子文档独特

时间:2014-05-16 13:43:52

标签: python eve

我定义了一个类似

的架构
{

    'info' : {
        'type' : 'dict',
        'unique' : True,
        'schema' : {
            'propertyA' : {'type':'string'},
            'propertyB' : {'type':'string'},
            'propertyC' : {'type':'string'}

        }
    },

    'others' : {'type':'string'}
}

然后,我发布以下文档两次,第一次返回OK,第二次返回“not unique error”。

[
  {
    "info" : {
      "propertyA" : "a",
      "propertyB" : "b",
      "propertyC" : "c"
    },
    "others" : "other things"
  }
]

但是当我发布文件清单时如下:

[
  {
    "info" : {
      "propertyA" : "a",
      "propertyB" : "b",
      "propertyC" : "c"
    },
    "others" : "other things"
  },
  {
    "info" : {
      "propertyA" : "a",
      "propertyB" : "b",
      "propertyC" : "c"
    },
    "others" : "other things"
  }
]

将两个文档都插入数据库。

为什么他们有不同的结果?

1 个答案:

答案 0 :(得分:0)

这是因为在第二种情况下,两个文档将通过一个环回存储到数据库,利用MongoDB批量插入功能。因此,当第二个文档针对数据库进行验证时,尚未找到重复内容。

在第一个场景中,您正在执行两个单独的保存操作,因此第二个将匹配副本。