def _get_infos_with_given_meta(
        self, store: Chroma, meta_name: str, meta_value: Union[ChromaMetaType, List[ChromaMetaType]],
    ) -> Tuple[List[str], List[str], List[Dict[str, ChromaMetaType]]]:
        """Get document info in given `store` with metadata `meta_name` in given value / value list `meta_value`.

        Returns:
            List[str]: the ids of documents meet the condition.
            List[str]: the page contents of documents meet the condition.
            List[Dict[str, BasicMetaType]]: the metadata dict of documents meet the condition.
        """
        if isinstance(meta_value, list):
            filter = {meta_name: {"$in": meta_value}}
        else:
            filter = {meta_name: meta_value}

        results: GetResult = store.get(where=filter)
        ids, chunks, metadatas = results["ids"], results["documents"], results["metadatas"]
        return ids, chunks, metadatas
Get document info in given `store` with metadata `meta_name` in given value / value list `meta_value`.

        Returns:
            List[str]: the ids of documents meet the condition.
            List[str]: the page contents of documents meet the condition.
            List[Dict[str, BasicMetaType]]: the metadata dict of documents meet the condition.
        
pikerag/knowledge_retrievers/mixins/chroma_mixin.py