Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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
Java MongoDB集合模式_Java_Mongodb - Fatal编程技术网

Java MongoDB集合模式

Java MongoDB集合模式,java,mongodb,Java,Mongodb,我是MongoDB的一天初学者,我尽量不去想经典的关系方式,这在实现中似乎比我想象的要困难得多 我想要实现的是一个包含2个集合的简单数据库: 用户兴趣 用户可能有很多兴趣 这就是我现在拥有的: 用户: 利息: 所以我有点困惑 我应该先将兴趣文档存储在兴趣集合中,然后将它们作为对象检索,并将它们作为二进制对象存储在用户文档中吗?所以我会有这样的东西:创建兴趣文档->检索它们->创建用户文档并将兴趣存储在上面 或者我应该在用户文档中嵌套感兴趣的文档而不创建它们。所以我会有这样的东西:创建用户文档和在

我是MongoDB的一天初学者,我尽量不去想经典的关系方式,这在实现中似乎比我想象的要困难得多

我想要实现的是一个包含2个集合的简单数据库: 用户兴趣

用户可能有很多兴趣

这就是我现在拥有的:

用户:

利息:

所以我有点困惑

我应该先将兴趣文档存储在兴趣集合中,然后将它们作为对象检索,并将它们作为二进制对象存储在用户文档中吗?所以我会有这样的东西:创建兴趣文档->检索它们->创建用户文档并将兴趣存储在上面

或者我应该在用户文档中嵌套感兴趣的文档而不创建它们。所以我会有这样的东西:创建用户文档和在上面创建/嵌套兴趣文档


谢谢。

我不知道您的确切要求,但我可能只使用用户集合,并以您的方式嵌入兴趣

如果您想要所有不同兴趣的列表,可以尝试:

db.users.distinct("interests");

非常感谢。我应该将它们作为文档还是二进制对象嵌入?在MongoDB中,每个文档都存储为二进制对象BSON,但对于开发人员来说,这并不相关。嵌入数据时,只需向现有对象添加更多属性。这是可用的BSON类型:我理解。谢谢您:
{
    _id: 'interest1',
    name: 'Mobile'
}
db.users.distinct("interests");