feat(mongodb): add Compass-style collection import/export

This commit is contained in:
onenewcode authored and GitHub committed 2026-09-12 21:59:29 +08:00
1 parent bf4874906c
commit 8ff56b4837
47 files changed
+5626 -52

No files matched your search

+41
View File
@@ -5353,6 +5353,46 @@ export default withEnglishFallback({
tableView: "Cədvəl görünüşü",
filterPlaceholder: "Süzgəc...",
sortPlaceholder: "Sıralama...",
import: {
title: "Məlumat idxal et",
target: "Hədəf kolleksiya",
readonly: "Bu bağlantı yalnız oxuma üçündür. İdxaldan əvvəl yazmanı açın.",
chooseFile: "Fayl seçin",
fileFilter: "MongoDB məlumatı",
noFile: "Fayl seçilməyib",
back: "Geri",
format: "Format",
encoding: "Kodlama",
delimiter: "Ayırıcı",
typeMode: "Tip rejimi",
typeString: "Hamısı sətir",
typeAuto: "Avtomatik aşkarlama",
typeExtendedJson: "Extended JSON",
hasHeader: "Birinci sətir başlıqdır",
trim: "Dəyərləri kəs",
emptyAsNull: "Boş xanaları null yaz",
recognizeObjectIdHex: "24 simvollu onaltılığı ObjectId say",
skipErrorRows: "Xətalı sətirləri keç",
previewing: "Önizləmə yenilənir…",
estimatedRows: "Təxminən {count} sənəd",
continue: "Davam et",
confirmAppend: "Sənədlər əlavə olunacaq. Mövcud sənədlər silinməz və əvəz olunmaz.",
batchSize: "Paket ölçüsü",
duplicateIdPolicy: "Təkrar _id idxalı dayandırır. Artıq göndərilmiş paketlər geri qaytarılmır.",
start: "İdxal et",
success: "{count} sənəd idxal olundu",
stillRunning: "İdxal hələ işləyir. Yeni paketləri dayandırmaq üçün Ləğv et düyməsini istifadə edin.",
rowsRead: "Oxunan sətirlər",
rowsInserted: "Əlavə olunan sətirlər",
rowsFailed: "Uğursuz sətirlər",
batchesCommitted: "Göndərilmiş paketlər",
phase: {
preparing: "Hazırlanır",
parsing: "Ayrışdırılır",
writing: "Yazılır",
done: "Bitdi",
},
},
},
meilisearch: {
...meilisearchManagementAz,
@@ -5652,6 +5692,7 @@ export default withEnglishFallback({
lockNow: "Yazmanı indi kilidlə",
unlockAction: "Yazma kilidini aç…",
sourceImport: "Cədvəl idxalı",
sourceMongoImport: "MongoDB idxalı",
sourceTransfer: "Məlumatların köçürülməsi",
sourceSqlFile: "SQL faylının icrası",
sourceStatus: "Yalnız oxuma rejiminin idarəsi",
+41
View File
@@ -5353,6 +5353,46 @@ export default {
tableView: "Table View",
filterPlaceholder: "Filter...",
sortPlaceholder: "Sort...",
import: {
title: "Import data",
target: "Target collection",
readonly: "This connection is read-only. Unlock writes before importing.",
chooseFile: "Choose file",
fileFilter: "MongoDB data",
noFile: "No file selected",
back: "Back",
format: "Format",
encoding: "Encoding",
delimiter: "Delimiter",
typeMode: "Type mode",
typeString: "All strings",
typeAuto: "Auto detect",
typeExtendedJson: "Extended JSON",
hasHeader: "First row is header",
trim: "Trim values",
emptyAsNull: "Empty cells as null",
recognizeObjectIdHex: "Treat 24-character hex as ObjectId",
skipErrorRows: "Skip error rows",
previewing: "Refreshing preview…",
estimatedRows: "{count} documents estimated",
continue: "Continue",
confirmAppend: "Documents will be appended. Existing documents are not truncated or upserted.",
batchSize: "Batch size",
duplicateIdPolicy: "Duplicate _id values stop the import. Already committed batches are not rolled back.",
start: "Import",
success: "Imported {count} documents",
stillRunning: "Import is still running. Use Cancel to stop new batches.",
rowsRead: "Rows read",
rowsInserted: "Rows inserted",
rowsFailed: "Rows failed",
batchesCommitted: "Batches committed",
phase: {
preparing: "Preparing",
parsing: "Parsing",
writing: "Writing",
done: "Done",
},
},
},
meilisearch: {
...meilisearchManagementEn,
@@ -5652,6 +5692,7 @@ export default {
lockNow: "Lock writes now",
unlockAction: "Unlock writes…",
sourceImport: "Table import",
sourceMongoImport: "MongoDB import",
sourceTransfer: "Data transfer",
sourceSqlFile: "SQL file execution",
sourceStatus: "Read-only control",
+41
View File
@@ -5064,6 +5064,46 @@ export default withEnglishFallback({
indexNoExpiry: "Nunca expira",
indexOtherOptions: "Otras opciones",
indexPropertiesUnavailable: "El controlador Legacy de MongoDB no puede informar disperso, expiración, background o tamaño de bucket. Conéctese con el controlador nativo para verlos.",
import: {
title: "Importar datos",
target: "Colección de destino",
readonly: "Esta conexión es de solo lectura. Desbloquee la escritura antes de importar.",
chooseFile: "Elegir archivo",
fileFilter: "Datos de MongoDB",
noFile: "Ningún archivo seleccionado",
back: "Atrás",
format: "Formato",
encoding: "Codificación",
delimiter: "Delimitador",
typeMode: "Modo de tipos",
typeString: "Todo como texto",
typeAuto: "Detectar automáticamente",
typeExtendedJson: "Extended JSON",
hasHeader: "La primera fila es el encabezado",
trim: "Recortar valores",
emptyAsNull: "Celdas vacías como null",
recognizeObjectIdHex: "Tratar hexadecimal de 24 caracteres como ObjectId",
skipErrorRows: "Omitir filas con error",
previewing: "Actualizando la vista previa…",
estimatedRows: "{count} documentos estimados",
continue: "Continuar",
confirmAppend: "Los documentos se añadirán. No se truncará ni se hará upsert de los existentes.",
batchSize: "Tamaño de lote",
duplicateIdPolicy: "Un _id duplicado detiene la importación. Los lotes ya confirmados no se revierten.",
start: "Importar",
success: "Se importaron {count} documentos",
stillRunning: "La importación sigue en curso. Use Cancelar para detener nuevos lotes.",
rowsRead: "Filas leídas",
rowsInserted: "Filas insertadas",
rowsFailed: "Filas fallidas",
batchesCommitted: "Lotes confirmados",
phase: {
preparing: "Preparando",
parsing: "Analizando",
writing: "Escribiendo",
done: "Hecho",
},
},
},
meilisearch: {
...meilisearchManagementEs,
@@ -8927,6 +8967,7 @@ export default withEnglishFallback({
lockNow: "Volver a bloquear ahora",
unlockAction: "Desbloquear escrituras…",
sourceImport: "Importación de tabla",
sourceMongoImport: "Importación de MongoDB",
sourceTransfer: "Transferencia de datos",
sourceSqlFile: "Ejecución de archivo SQL",
sourceStatus: "Control de solo lectura",
+41
View File
@@ -5062,6 +5062,46 @@ export default withEnglishFallback({
indexNoExpiry: "Mai",
indexOtherOptions: "Altre opzioni",
indexPropertiesUnavailable: "Il driver Legacy di MongoDB non può riportare sparsità, scadenza, background o dimensione bucket. Connettersi con il driver nativo per vederli.",
import: {
title: "Importa dati",
target: "Collezione di destinazione",
readonly: "Questa connessione è in sola lettura. Sblocca la scrittura prima di importare.",
chooseFile: "Scegli file",
fileFilter: "Dati MongoDB",
noFile: "Nessun file selezionato",
back: "Indietro",
format: "Formato",
encoding: "Codifica",
delimiter: "Delimitatore",
typeMode: "Modalità tipi",
typeString: "Tutto come stringa",
typeAuto: "Rilevamento automatico",
typeExtendedJson: "Extended JSON",
hasHeader: "La prima riga è l'intestazione",
trim: "Taglia gli spazi",
emptyAsNull: "Celle vuote come null",
recognizeObjectIdHex: "Tratta l'esadecimale a 24 caratteri come ObjectId",
skipErrorRows: "Salta le righe con errore",
previewing: "Aggiornamento anteprima…",
estimatedRows: "{count} documenti stimati",
continue: "Continua",
confirmAppend: "I documenti verranno aggiunti. Nessun truncate né upsert.",
batchSize: "Dimensione batch",
duplicateIdPolicy: "Un _id duplicato interrompe l'importazione. I batch già confermati non vengono annullati.",
start: "Importa",
success: "Importati {count} documenti",
stillRunning: "L'importazione è ancora in esecuzione. Usa Annulla per fermare i nuovi batch.",
rowsRead: "Righe lette",
rowsInserted: "Righe inserite",
rowsFailed: "Righe non riuscite",
batchesCommitted: "Batch confermati",
phase: {
preparing: "Preparazione",
parsing: "Analisi",
writing: "Scrittura",
done: "Completato",
},
},
},
meilisearch: {
...meilisearchManagementIt,
@@ -8928,6 +8968,7 @@ export default withEnglishFallback({
lockNow: "Blocca scritture ora",
unlockAction: "Sblocca scritture…",
sourceImport: "Importazione tabella",
sourceMongoImport: "Importazione MongoDB",
sourceTransfer: "Trasferimento dati",
sourceSqlFile: "Esecuzione file SQL",
sourceStatus: "Controllo sola lettura",
+41
View File
@@ -5091,6 +5091,46 @@ export default withEnglishFallback({
indexNoExpiry: "期限なし",
indexOtherOptions: "その他のオプション",
indexPropertiesUnavailable: "MongoDB Legacy ドライバーはスパース、有効期限、バックグラウンド、バケットサイズを報告できません。ネイティブドライバーで接続して確認してください。",
import: {
title: "データをインポート",
target: "対象コレクション",
readonly: "この接続は読み取り専用です。インポート前に書き込みを解除してください。",
chooseFile: "ファイルを選択",
fileFilter: "MongoDB データ",
noFile: "ファイル未選択",
back: "戻る",
format: "形式",
encoding: "エンコーディング",
delimiter: "区切り文字",
typeMode: "型モード",
typeString: "すべて文字列",
typeAuto: "自動検出",
typeExtendedJson: "Extended JSON",
hasHeader: "先頭行をヘッダーにする",
trim: "値をトリム",
emptyAsNull: "空セルを null にする",
recognizeObjectIdHex: "24 桁の 16 進数を ObjectId として扱う",
skipErrorRows: "エラー行をスキップ",
previewing: "プレビューを更新中…",
estimatedRows: "推定 {count} 件",
continue: "続行",
confirmAppend: "ドキュメントは追加されます。既存ドキュメントの切り捨てや upsert は行いません。",
batchSize: "バッチサイズ",
duplicateIdPolicy: "重複した _id でインポートは停止します。すでに確定したバッチはロールバックされません。",
start: "インポート",
success: "{count} 件のドキュメントをインポートしました",
stillRunning: "インポートは実行中です。以降のバッチを止めるにはキャンセルしてください。",
rowsRead: "読み取り行数",
rowsInserted: "挿入行数",
rowsFailed: "失敗行数",
batchesCommitted: "確定バッチ数",
phase: {
preparing: "準備中",
parsing: "解析中",
writing: "書き込み中",
done: "完了",
},
},
},
meilisearch: {
...meilisearchManagementJa,
@@ -8979,6 +9019,7 @@ export default withEnglishFallback({
lockNow: "今すぐ再ロック",
unlockAction: "書き込みのロックを解除…",
sourceImport: "テーブルのインポート",
sourceMongoImport: "MongoDB のインポート",
sourceTransfer: "データ転送",
sourceSqlFile: "SQL ファイル実行",
sourceStatus: "読み取り専用コントロール",
+41
View File
@@ -4690,6 +4690,46 @@ export default withEnglishFallback({
indexNoExpiry: "만료 안 함",
indexOtherOptions: "기타 옵션",
indexPropertiesUnavailable: "MongoDB Legacy 드라이버는 희소, 만료, 백그라운드 또는 버킷 크기를 보고할 수 없습니다. 네이티브 드라이버로 연결하여 확인하세요.",
import: {
title: "데이터 가져오기",
target: "대상 컬렉션",
readonly: "이 연결은 읽기 전용입니다. 가져오기 전에 쓰기를 잠금 해제하세요.",
chooseFile: "파일 선택",
fileFilter: "MongoDB 데이터",
noFile: "선택된 파일 없음",
back: "뒤로",
format: "형식",
encoding: "인코딩",
delimiter: "구분 기호",
typeMode: "유형 모드",
typeString: "모두 문자열",
typeAuto: "자동 감지",
typeExtendedJson: "Extended JSON",
hasHeader: "첫 행을 헤더로 사용",
trim: "값 앞뒤 공백 제거",
emptyAsNull: "빈 셀을 null로 기록",
recognizeObjectIdHex: "24자 16진수를 ObjectId로 인식",
skipErrorRows: "오류 행 건너뛰기",
previewing: "미리보기 새로 고치는 중…",
estimatedRows: "약 {count}개 문서",
continue: "계속",
confirmAppend: "문서는 추가됩니다. 기존 문서는 비우거나 upsert하지 않습니다.",
batchSize: "배치 크기",
duplicateIdPolicy: "중복 _id는 가져오기를 중지합니다. 이미 커밋된 배치는 롤백되지 않습니다.",
start: "가져오기",
success: "{count}개 문서를 가져왔습니다",
stillRunning: "가져오기가 계속 실행 중입니다. 이후 배치를 멈추려면 취소를 사용하세요.",
rowsRead: "읽은 행",
rowsInserted: "삽입된 행",
rowsFailed: "실패한 행",
batchesCommitted: "커밋된 배치",
phase: {
preparing: "준비 중",
parsing: "구문 분석 중",
writing: "쓰는 중",
done: "완료",
},
},
},
meilisearch: {
...meilisearchManagementKo,
@@ -4988,6 +5028,7 @@ export default withEnglishFallback({
lockNow: "지금 다시 잠금",
unlockAction: "쓰기 잠금 해제…",
sourceImport: "테이블 가져오기",
sourceMongoImport: "MongoDB 가져오기",
sourceTransfer: "데이터 이전",
sourceSqlFile: "SQL 파일 실행",
sourceStatus: "읽기 전용 컨트롤",
+41
View File
@@ -5064,6 +5064,46 @@ export default withEnglishFallback({
indexNoExpiry: "Nunca",
indexOtherOptions: "Outras opções",
indexPropertiesUnavailable: "O driver Legacy do MongoDB não pode informar esparso, expiração, background ou tamanho do bucket. Conecte-se com o driver nativo para vê-los.",
import: {
title: "Importar dados",
target: "Coleção de destino",
readonly: "Esta conexão é somente leitura. Desbloqueie a gravação antes de importar.",
chooseFile: "Escolher arquivo",
fileFilter: "Dados do MongoDB",
noFile: "Nenhum arquivo selecionado",
back: "Voltar",
format: "Formato",
encoding: "Codificação",
delimiter: "Delimitador",
typeMode: "Modo de tipos",
typeString: "Tudo como texto",
typeAuto: "Detectar automaticamente",
typeExtendedJson: "Extended JSON",
hasHeader: "A primeira linha é o cabeçalho",
trim: "Remover espaços",
emptyAsNull: "Células vazias como null",
recognizeObjectIdHex: "Tratar hexadecimal de 24 caracteres como ObjectId",
skipErrorRows: "Ignorar linhas com erro",
previewing: "Atualizando a prévia…",
estimatedRows: "{count} documentos estimados",
continue: "Continuar",
confirmAppend: "Os documentos serão acrescentados. Não há truncate nem upsert.",
batchSize: "Tamanho do lote",
duplicateIdPolicy: "Um _id duplicado interrompe a importação. Lotes já confirmados não são revertidos.",
start: "Importar",
success: "{count} documentos importados",
stillRunning: "A importação ainda está em execução. Use Cancelar para interromper novos lotes.",
rowsRead: "Linhas lidas",
rowsInserted: "Linhas inseridas",
rowsFailed: "Linhas com falha",
batchesCommitted: "Lotes confirmados",
phase: {
preparing: "Preparando",
parsing: "Analisando",
writing: "Gravando",
done: "Concluído",
},
},
},
meilisearch: {
...meilisearchManagementPtBR,
@@ -8929,6 +8969,7 @@ export default withEnglishFallback({
lockNow: "Bloquear gravações agora",
unlockAction: "Desbloquear gravações…",
sourceImport: "Importação de tabela",
sourceMongoImport: "Importação do MongoDB",
sourceTransfer: "Transferência de dados",
sourceSqlFile: "Execução de arquivo SQL",
sourceStatus: "Controle de somente leitura",
+41
View File
@@ -5247,6 +5247,46 @@ export default withEnglishFallback({
tableView: "Tablo Görünümü",
filterPlaceholder: "Filtrele...",
sortPlaceholder: "Sırala...",
import: {
title: "Veri içe aktar",
target: "Hedef koleksiyon",
readonly: "Bu bağlantı salt okunur. İçe aktarmadan önce yazmayı açın.",
chooseFile: "Dosya seç",
fileFilter: "MongoDB verisi",
noFile: "Dosya seçilmedi",
back: "Geri",
format: "Biçim",
encoding: "Kodlama",
delimiter: "Ayırıcı",
typeMode: "Tür kipi",
typeString: "Tümü metin",
typeAuto: "Otomatik algıla",
typeExtendedJson: "Extended JSON",
hasHeader: "İlk satır başlıktır",
trim: "Değerleri kırp",
emptyAsNull: "Boş hücreleri null yaz",
recognizeObjectIdHex: "24 karakterlik onaltılığı ObjectId say",
skipErrorRows: "Hatalı satırları atla",
previewing: "Önizleme yenileniyor…",
estimatedRows: "Yaklaşık {count} belge",
continue: "Devam",
confirmAppend: "Belgeler eklenecek. Mevcut belgeler silinmez veya üzerine yazılmaz.",
batchSize: "Toplu boyut",
duplicateIdPolicy: "Yinelenen _id içe aktarmayı durdurur. Gönderilmiş toplu işler geri alınmaz.",
start: "İçe aktar",
success: "{count} belge içe aktarıldı",
stillRunning: "İçe aktarma hâlâ çalışıyor. Yeni toplu işleri durdurmak için İptal’i kullanın.",
rowsRead: "Okunan satırlar",
rowsInserted: "Eklenen satırlar",
rowsFailed: "Başarısız satırlar",
batchesCommitted: "Gönderilen toplu işler",
phase: {
preparing: "Hazırlanıyor",
parsing: "Ayrıştırılıyor",
writing: "Yazılıyor",
done: "Bitti",
},
},
},
meilisearch: {
...meilisearchManagementTr,
@@ -5546,6 +5586,7 @@ export default withEnglishFallback({
lockNow: "Yazmaları şimdi kilitle",
unlockAction: "Yazmaların kilidini aç…",
sourceImport: "Tablo içe aktarma",
sourceMongoImport: "MongoDB içe aktarma",
sourceTransfer: "Veri aktarımı",
sourceSqlFile: "SQL dosyası yürütme",
sourceStatus: "Salt okunur denetimi",
+41
View File
@@ -5337,6 +5337,46 @@ export default withEnglishFallback({
tableView: "表格视图",
filterPlaceholder: "过滤条件...",
sortPlaceholder: "排序条件...",
import: {
title: "导入数据",
target: "目标 Collection",
readonly: "当前连接为只读,导入前需要先解锁写入。",
chooseFile: "选择文件",
fileFilter: "MongoDB 数据",
noFile: "尚未选择文件",
back: "上一步",
format: "格式",
encoding: "编码",
delimiter: "分隔符",
typeMode: "类型策略",
typeString: "全部按字符串",
typeAuto: "自动推断",
typeExtendedJson: "Extended JSON",
hasHeader: "首行是表头",
trim: "去除首尾空白",
emptyAsNull: "空单元格写入 null",
recognizeObjectIdHex: "将 24 位十六进制识别为 ObjectId",
skipErrorRows: "跳过错误行",
previewing: "正在刷新预览…",
estimatedRows: "估计 {count} 个文档",
continue: "继续",
confirmAppend: "将以追加方式写入,不会清空或覆盖已有文档。",
batchSize: "批次大小",
duplicateIdPolicy: "重复 _id 会停止导入。已提交的批次不会回滚。",
start: "开始导入",
success: "已导入 {count} 个文档",
stillRunning: "导入仍在运行。如需停止后续批次,请点取消。",
rowsRead: "已读取",
rowsInserted: "已插入",
rowsFailed: "失败",
batchesCommitted: "已提交批次",
phase: {
preparing: "准备中",
parsing: "解析中",
writing: "写入中",
done: "完成",
},
},
},
meilisearch: {
...meilisearchManagementZhCN,
@@ -5636,6 +5676,7 @@ export default withEnglishFallback({
lockNow: "立即重新锁定",
unlockAction: "解锁写入…",
sourceImport: "表导入",
sourceMongoImport: "MongoDB 导入",
sourceTransfer: "数据传输",
sourceSqlFile: "SQL 文件执行",
sourceStatus: "只读控制",
+41
View File
@@ -4379,6 +4379,46 @@ export default withEnglishFallback({
tableView: "表格檢視",
filterPlaceholder: "過濾條件……",
sortPlaceholder: "排序條件……",
import: {
title: "匯入資料",
target: "目標 Collection",
readonly: "目前連線為唯讀,匯入前需要先解鎖寫入。",
chooseFile: "選擇檔案",
fileFilter: "MongoDB 資料",
noFile: "尚未選擇檔案",
back: "上一步",
format: "格式",
encoding: "編碼",
delimiter: "分隔符",
typeMode: "類型策略",
typeString: "全部按字串",
typeAuto: "自動推斷",
typeExtendedJson: "Extended JSON",
hasHeader: "首列是表頭",
trim: "去除首尾空白",
emptyAsNull: "空儲存格寫入 null",
recognizeObjectIdHex: "將 24 位十六進位識別為 ObjectId",
skipErrorRows: "跳過錯誤列",
previewing: "正在重新整理預覽…",
estimatedRows: "估計 {count} 個文件",
continue: "繼續",
confirmAppend: "將以附加方式寫入,不會清空或覆蓋既有文件。",
batchSize: "批次大小",
duplicateIdPolicy: "重複 _id 會停止匯入。已提交的批次不會回溯。",
start: "開始匯入",
success: "已匯入 {count} 個文件",
stillRunning: "匯入仍在執行。如需停止後續批次,請點取消。",
rowsRead: "已讀取",
rowsInserted: "已插入",
rowsFailed: "失敗",
batchesCommitted: "已提交批次",
phase: {
preparing: "準備中",
parsing: "解析中",
writing: "寫入中",
done: "完成",
},
},
fieldEditor: "欄位",
nativeJson: "原生 JSON",
nativeJsonHint: "BSON 值請使用 MongoDB Extended JSON,例如 $oid、$date、$numberLong。",
@@ -8917,6 +8957,7 @@ export default withEnglishFallback({
lockNow: "立即重新鎖定",
unlockAction: "解鎖寫入…",
sourceImport: "資料表匯入",
sourceMongoImport: "MongoDB 匯入",
sourceTransfer: "資料傳輸",
sourceSqlFile: "SQL 檔案執行",
sourceStatus: "唯讀控制",