mongodb-rag-core
Version:
Common elements used by MongoDB Chatbot Framework components.
21 lines • 973 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.extractDeterministicSampleOfDocuments = exports.MUST_HAVE_AT_LEAST_ONE_EXAMPLE_DOCUMENT_ERROR = void 0;
const assert_1 = require("assert");
exports.MUST_HAVE_AT_LEAST_ONE_EXAMPLE_DOCUMENT_ERROR = "Must have at least one example document";
/**
Extract deterministic sample of documents for a given collection.
*/
async function extractDeterministicSampleOfDocuments({ collection, limit = 5, }) {
const documents = await collection
.aggregate([
{ $addFields: { hash: { $toHashedIndexKey: "$_id" } } },
{ $sort: { hash: 1 } },
{ $limit: limit },
])
.toArray();
(0, assert_1.strict)(documents.length > 0, exports.MUST_HAVE_AT_LEAST_ONE_EXAMPLE_DOCUMENT_ERROR);
return documents;
}
exports.extractDeterministicSampleOfDocuments = extractDeterministicSampleOfDocuments;
//# sourceMappingURL=extractDeterministicSampleOfDocuments.js.map