Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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
mongodb支持子集合吗_Mongodb_Collections - Fatal编程技术网

mongodb支持子集合吗

mongodb支持子集合吗,mongodb,collections,Mongodb,Collections,mongo中是否有子集合这样的概念,类似于子文档,但支持完整的CRUDAPI?我想组织我的数据库执行如下查询: db.games.pong.leaderbords.find({score:{'$gt':99}}) 换句话说,集合是否有层次结构,或者我必须为每个集合创建一个完全描述性的名称,如中所示: db.pongLeaderboard.find({score:{'$gt':99}}); 编辑:正如尼古拉斯指出的,点符号是允许的。我想问的是,我是否可以这样做,让游戏和乒乓球成为它们自己的合适

mongo中是否有子集合这样的概念,类似于子文档,但支持完整的CRUDAPI?我想组织我的数据库执行如下查询:

db.games.pong.leaderbords.find({score:{'$gt':99}})
换句话说,集合是否有层次结构,或者我必须为每个集合创建一个完全描述性的名称,如中所示:

db.pongLeaderboard.find({score:{'$gt':99}});
编辑:正如尼古拉斯指出的,点符号是允许的。我想问的是,我是否可以这样做,让
游戏
乒乓球
成为它们自己的合适收藏,这样我仍然可以像这样做

db.games.find({name:'pacman'})

集合名称包含
字符是完全合法的,因此完全可以对数据进行组织,以确保第一次查询是正确的

我相当确定创建集合
games.pong.leaderbords
不会创建
games
games.pong
pong
,因此这可能无法解决您的问题

不过,这类问题很容易自己回答——只需在MongoDB中键入查询,看看会发生什么。如果失败了,那是不可能的。如果没有,这是可能的。MongoDB就是这样的。这不仅可以给你一个明确的答案,还可以给你一个即时的答案,而无需等待别人尝试键入你的查询并发布结果

我想问的是,我能不能做到这一点,让游戏和乒乓球本身成为合适的收藏品,这样我仍然可以做类似的事情

db.games.find({name:'pacman'})

如果我理解正确,则不。这两个“子集合”本身不会相互引用,除非您实际创建了一个
games
集合,其中包含数据(
db.games.ping.xx
不计算),否则这将不起作用。

我为没有足够清楚地描述我的问题而道歉。我确实希望
games
pong
成为它们自己的集合,拥有集合的所有功能,但也有子集合。我找不到此类功能的任何文档,但担心我遗漏了什么。@gloo本身没有子集合,不确定您定义的区别是什么,老实说,但是点符号允许组织类型子集合。你的应用程序中的子集合有什么特别之处>我不认为你是,不。你可以将
游戏
游戏.乒乓球
游戏.乒乓球.排行榜
作为单独的集合,因为这是3个不同的名称。然而,这三者之间不会有任何形式的依赖性,除了在您自己的代码中。据我所知,MongoDB不会以任何方式强制执行任何内容。好的,在您编辑之后,我非常确定答案是,不幸的是,一个简单的“不”。