mongoDB DBRef外键测试-查询



由于mongoDB不支持外键,我已经读到您可以使用DBReF。现在我想测试一下这个关系。

这两个集合是<>之前

db.professor.insert({"_id": 1122, "Name":"Heinrich","Rang": "C3","Raum":"D123"}) db.assistent.insert({"_id": 2244,"Name":"Schmidt","Fachgebiet":"Neuronale Netze","Boss":{"$ref":"professor","$id":1122}}) 之前

第一个问题,但它不应该在引用处,错误的id可能会假设或。如果我的条目具有正确的ID $ ID,我如何测试引用?

后台是我检查mongoDB的数据完整性功能!有人有关于mongoDB和数据完整性的资源吗?

mongodb的集合间数据完整性为零。这不是MongoDB工作方式中的错误,也不希望这种行为发生变化。

不具有集合间数据完整性是其作为NoSQL (http://en.wikipedia.org/wiki/NoSQL)产品的核心特性之一,这种行为通常与此相关(也就是说它不必)。

当然,这与一般的数据完整性无关,而是与服务器端的级联和引用关系有关。

DBRef (http://docs.mongodb.org/manual/applications/database-references/)与将ObjectId保存到文档中没有什么不同。唯一真正的区别是,它是一个对象的对象,它还存储一个属性来容纳集合名称。DBRef没有什么特别之处,除了它与大多数(如果不是全部)语言的MongoDB驱动程序预先捆绑在一起,作为一个帮助器,允许您查询应用程序中的另一行。

许多人混淆了DBRef的目的,但是我向你保证它并没有什么特别之处。

所以没有检查,看看你是否在错误的ObjectId和没有级联的关系,没有MongoDB的"外键"行为。

任何和所有的关系完整性都来自于您的应用程序及其以防止数据中出现任何问题的方式工作的能力。这适用于伪关系的插入和级联。

考虑到这些关于MongoDB的简短事实,你的测试几乎是无用的,如果你想测试关系模型的数据完整性,你应该使用关系数据库。

相关内容

  • 没有找到相关文章

最新更新