我使用 MongoDB PHP v1.3,在我的 MongoDB 中有多个集合:
// COLLECTION NAMES:
- user_1_list_1
- user_1_list_2
- user_1_list_3
...
- user_1_list_55
所有这些集合都具有相同的文档结构:
{
first_name
last_name
phone
}
如何同时从这些集合中查询文档?在文档中,解释了如何从一个集合中查询(查找多个)文档:https://docs.mongodb.com/php-library/v1.3/tutorial/crud/#find-many-documents。
例如,在我的情况下,它看起来像这样:
$collection_name = "user_1_list_1";
$collection = $this->db->{$collection_name};
$query = [];
$cursor = $collection->find(
$query,
[
'limit' => 10,
'skip' => 0,
'sort' => ['first_name' => 1],
]
);
...但是这只会从一个集合(在本例中,只会从名为 "user_1_list_1" 的集合)中找到文档。
如何从所有这些集合 (user_1_list_1, user_1_list_2, user_1_list_3 ...) 中查找文档(它们具有相同的结构),而不仅仅是从一个特定的集合中查找?这是否可能?如果可以,你会如何做到呢?
find()
的功能。在您的使用情况下,这个操作可能是有意义的,但在大多数情况下并不是很有意义,因为一个集合通常是独立存在的,与其他集合关系较小。为什么不遍历集合名称列表,并在每个集合中执行查找呢? - kevinadifind()
...因此,这似乎是不可能完成的,看起来“设计”(拥有许多具有相同文档结构的集合而不是一个集合)是错误和不好的。 - PeraMika