Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 创建不带值的MongoDB文档_Json_Mongodb_Nosql_Data Modeling_Physical Design - Fatal编程技术网

Json 创建不带值的MongoDB文档

Json 创建不带值的MongoDB文档,json,mongodb,nosql,data-modeling,physical-design,Json,Mongodb,Nosql,Data Modeling,Physical Design,我有一个关于在MongoDB中创建集合的物理模式的基本问题 我可以创建没有值的MongoDB文档吗。此时,我只知道键和一些数据类型。但我没有这些价值观。有没有可能创建一个模式,其中O只有值的占位符 对于字符串,我可以将“”或“abc”(伪值)作为值的占位符 对于十进制,我也可以这样做。将123.1作为虚拟值 对于布尔值,我可以将true或false作为伪值 对于日期,我可以将“01-01-1900”作为虚拟值 但是,当我有数百个字段,特别是嵌套字段(如文档或数组中的文档)时,放置这些伪值就变

我有一个关于在MongoDB中创建集合的物理模式的基本问题

我可以创建没有值的MongoDB文档吗。此时,我只知道键和一些数据类型。但我没有这些价值观。有没有可能创建一个模式,其中O只有值的占位符

  • 对于字符串,我可以将“”或“abc”(伪值)作为值的占位符
  • 对于十进制,我也可以这样做。将123.1作为虚拟值
  • 对于布尔值,我可以将true或false作为伪值
  • 对于日期,我可以将“01-01-1900”作为虚拟值
但是,当我有数百个字段,特别是嵌套字段(如文档或数组中的文档)时,放置这些伪值就变得复杂了

我试图找到一个与“createtable”等价的SQL世界,在这里我们可以创建物理模式,而不需要输入值

有什么建议吗

谢谢
如果需要,可以插入包含任何内容的文档(只能插入部分元素,甚至可以插入空文档)。MongoDB是一个面向文档的数据库,其中每个文档可以完全不同


忘记你所知道的关于RDBMS的一切,因为这些知识在MongoDB世界中是绝对无用的。

“关于创建物理模式的基本问题”--基本答案,MongoDB没有模式。没有“严格的类型或命名”这样的东西,就“数据库”(MongoDB)而言,每个文档确实可以完全不同。模式被委托给“应用程序域逻辑”。这是对“创建表”的有意背离,它根本不存在。所以别看了。嗨,谢谢你的回答。但是说完全没有模式是对的吗。在任何企业数据集中,我相信每个记录之间都会有一些共性。例如,每个记录流中都有一个id字段或名称字段,依此类推。但你是对的,模式是灵活的。但灵活并不意味着每个记录都没有与其他记录的属性重叠。我试图为文档中常见的属性集提供一个模式。MongoDB没有模式。有粗体的,所以它有希望下沉。“通用性”指的是您的API,而不是MongoDB。简而言之,这就是哲学,也是一个关键区别。模式、触发器和引用完整性以及所有这些东西在MongoDB中“根本不存在”。这实际上是设计的全部要点。所以不是数据库,而是负责这些事情的软件层。或者不理解MongoDB没有模式。这是否意味着在我插入文档之前没有物理模型?我被赋予了为Mongo创建物理模型的任务。我有一个UML,它显示了预期记录的性质、VIX、属性、它们的数据类型,以及如果我认为每一个文档都是灵活的,那么如何从物理模型开始呢?我创建了一个集合,从那时起,文档(相当于记录)。。。。完全没有定义的架构。。。。。那么UML图的用途是什么呢?我不需要密钥来创建索引。问题是我身上没有真实的记录(文件)。。。有了这一点,我怎样才能实现物理模型呢?您的模型可以跳过一个空元素(不要存储到MongoDB中),或者只为文档元素设置一个空/默认值(它将是SQL中的一个等价列)。解决问题的方法有很多,但最佳选择取决于项目的细节。