Étant donné l'architecture ci-dessous, y a-t-il un moyen d'interroger la collection de personnes basée sur les colonnes interrogeables et de récupérer un objet comme celui-ci?Utilisation de la limite de 16 Mo avec une requête de type jointure
organization with people: {
_id: "13efdsf31r23rwes"
name: "Name",
wp_slug: "/wordpress-slug/",
type: "Cemetary",
file_name: "something.csv",
columns: [
{ label: "Maiden Name", name: "maiden_name", hidden: false },
{ label: "First Name", name: "first_name", hidden: false },
{ label: "First Pet", name: "first_pet", hidden: true },
],
people: [
{
_id: "13okekdsf12313",
"organization_id": 13efdsf31r23rwes,
"maiden_name": "Gilomen",
"surname": "Black",
"first_name": "Maria",
"first_pet": "Bud the Dog",
"searchable_columns": {
"surname": ["Black", "Gilomen"],
"given": ["Maria"],
}
},
{
_id: "1231sdf1313ewfd",
"organization_id": 13efdsf31r23rwes,
"maiden_name": "Portland",
"surname": "Smith",
"first_name": "Rose",
"first_pet": "Max the Dog",
"searchable_columns": {
"surname": ["Smith", "Portland"],
"given": ["Rose"],
}
},
]
}
architecture actuelle:
organization document example: {
_id: "13efdsf31r23rwes"
name: "Name",
wp_slug: "/wordpress-slug/",
type: "Cemetary",
file_name: "something.csv",
columns: [
{ label: "Maiden Name", name: "maiden_name", hidden: false },
{ label: "First Name", name: "first_name", hidden: false },
{ label: "First Pet", name: "first_pet", hidden: true },
],
}
people collection: [
{
_id: "13okekdsf12313",
"organization_id": 13efdsf31r23rwes,
"maiden_name": "Gilomen",
"surname": "Black",
"first_name": "Maria",
"first_pet": "Bud the Dog",
"searchable_columns": {
"surname": ["Black", "Gilomen"],
"given": ["Maria"],
}
},
{
_id: "1231sdf1313ewfd",
"organization_id": 13efdsf31r23rwes,
"maiden_name": "Portland",
"surname": "Smith",
"first_name": "Rose",
"first_pet": "Max the Dog",
"searchable_columns": {
"surname": ["Smith", "Portland"],
"given": ["Rose"],
}
},
]
Malheureusement, nous avons atteint la limite de documents 16M quand ils sont stockés sous forme d'un document combiné, donc je dois faire cette solution de contournement. Est-ce possible avec une requête MongoDB directe, ou n'y a-t-il pas d'autre moyen que d'interroger deux fois? Il y a environ 5 millions de dossiers de personnes et plus de 500 organisations. Toute aide serait appréciée, surtout si elle est affichée au format MongoPHP.
Il n'y a aucun moyen d'obtenir un document de mongodb qui dépasse la taille maximale du document (c'est ce qu'on appelle la taille maximale pour une raison). Faites plusieurs requêtes (ou demandez plusieurs documents plus petits) et rejoignez l'application. –