我在做一个API接口管理系统,第一次用node+mongodb遇到了些问题,特此请教大家。
问题是这样的。API可以分组。比如A B C三个组。每个组下面有不同的请求。我存储的时候是A B C 存储在Cat collection中 各个请求名称存储在ReqName collection中。其中ReqName中有个catId的DbRef指向A B C。来判断这个请求所属的组。现在问题来了 我想读取组的时候就把组下面的请求都读出来,在node中怎么操作?谢谢!
我在做一个API接口管理系统,第一次用node+mongodb遇到了些问题,特此请教大家。
问题是这样的。API可以分组。比如A B C三个组。每个组下面有不同的请求。我存储的时候是A B C 存储在Cat collection中 各个请求名称存储在ReqName collection中。其中ReqName中有个catId的DbRef指向A B C。来判断这个请求所属的组。现在问题来了 我想读取组的时候就把组下面的请求都读出来,在node中怎么操作?谢谢!
5 回答4.8k 阅读✓ 已解决
4 回答2.4k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
5 回答1.9k 阅读
2 回答1.3k 阅读✓ 已解决
3 回答2k 阅读
1 回答3.2k 阅读
根据你在评论中回复我的例子,你不应该把学生和班级分开来,MongoDB的做法不是这样的。
我来举个栗子吧。
Classes Collection
你应该把学生们作为一个数组,聚合在班级collection中。
操作
我以
MongoDB shell
为例。获取学生
添加学生
修改学生
删除学生
one more thing, 为什么collection是动态的,还需要分门别类?
集合是动态模式的。这意味着一个集合里面的文档可以是各式各样的。例如,下面两个文档可以存储在同一个集合里面:
需要注意的是,上面的文档不光值的类型不同(一个字符串一个整数),它们的键也完全不同。因为集合里面可以放置任何文档,随之而来的一个问题是:还有必要使用多个集合吗?这的确值得思考:既然没有必要区分不同类型文档的模式,为什么还要使用多个集合呢?这里有几个重要的原因。
上面这些重要原因促使我们创建一个模式,把相关类型的文档组织在一起,尽管MongoDB对此并没有强制要求。