【问题标题】:Mongodb get sub collections namesMongodb获取子集合名称
【发布时间】:2013-08-29 05:01:12
【问题描述】:

我在 mongodb 中有以下集合布局:

<bookname>.<category_name>

例子:

cats_and_dogs.white_cats
cats_and_dogs.black_cats
cats_and_dogs.gray_dogs
ducks.black_ducks
ducks.white_ducks

所有文档都存储在最后一个集合中(cats_and_dogs.black_cats,cats_and_dogs.gray_dogs),现在我如何从 cats_and_dogs 获取所有集合名称?

【问题讨论】:

    标签: mongodb nosql


    【解决方案1】:

    最简单的方法是使用“bookname”作为数据库名称,使用“category_name”作为集合名称。然后,您可以运行命令来列出该数据库的集合(因此,列出每个“书名”中的“类别”)。在外壳中:

    > use cats_and_dogs
    > show collections
    white_cats
    black_cats
    gray_dogs
    > db.gray_dogs.find()
    

    根据您使用的语言驱动程序,可能会有一个命令在游标中返回给定数据库中的所有集合。 此外,MongoDB 文档中有一个页面讨论了数据建模的最佳实践,值得一试:http://docs.mongodb.org/manual/core/data-modeling/

    【讨论】:

    • 我需要来自cats_and_dogs.* 集合的数据
    • MongoDB 本质上不支持多集合查询 (stackoverflow.com/questions/6502541/…)。您必须为每个集合运行单独的查询。或者,您可以以不同的方式构建数据。例如,您可以有一个 "cats_and_dogs" 集合,并使用一些 "type" : "gray_dogs" 字段来区分文档。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-28
    • 1970-01-01
    • 2020-08-26
    • 2012-06-14
    相关资源
    最近更新 更多