Mike Yim
09/23/2024, 3:40 AM{
"level": 50,
"time": 1727061558607,
"pid": 34285,
"hostname": "Zestsystems-MacBook-Pro.local",
"err": {
"type": "ImportError",
"message": "0 documents imported successfully, 1 documents failed during import. Use `error.importResults` from the raised exception to get a detailed error reason for each document.",
"stack": "ImportError: 0 documents imported successfully, 1 documents failed during import. Use `error.importResults` from the raised exception to get a detailed error reason for each document.\n at ImportError.TypesenseError [as constructor] (/Users/mikeyim/projects/work/utc/node_modules/typesense/lib/Typesense/Errors/TypesenseError.js:23:28)\n at new ImportError (/Users/mikeyim/projects/work/utc/node_modules/typesense/lib/Typesense/Errors/ImportError.js:25:28)\n at Documents.<anonymous> (/Users/mikeyim/projects/work/utc/node_modules/typesense/lib/Typesense/Documents.js:154:39)\n at step (/Users/mikeyim/projects/work/utc/node_modules/typesense/lib/Typesense/Documents.js:48:23)\n at Object.next (/Users/mikeyim/projects/work/utc/node_modules/typesense/lib/Typesense/Documents.js:29:53)\n at fulfilled (/Users/mikeyim/projects/work/utc/node_modules/typesense/lib/Typesense/Documents.js:20:58)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)",
"name": "ImportError",
"importResults": [
{
"code": 400,
"document": "{\"id\":\"65OhIDFEa1QQdVqyoiX2n\",\"name\":\"Awesome Duo\",\"imageUrl\":null,\"size\":2,\"battlerId\":\"icXdIXHSZhAsu8XYMRQI0\",\"createdAt\":\"1727054133\",\"updatedAt\":\"1727054133\",\"isDeleted\":false,\"members\":[{\"id\":\"jUHsJXvZc5_iRYS25n5Cn\",\"teamId\":\"65OhIDFEa1QQdVqyoiX2n\",\"position\":\"Leader\",\"inviteStatus\":\"Accepted\",\"userId\":\"ReslWXNd8UDVy4bkmP1h0\",\"dancer\":{\"id\":\"UipZeQKJPjKilUUoimsSA\",\"userId\":\"ReslWXNd8UDVy4bkmP1h0\",\"battlerId\":\"c5dTrKcIc2s-ITfUvzNFg\",\"username\":\"mikeyimfb\",\"imageUrl\":null,\"nationality\":\"KR\",\"createdAt\":\"1727053829\",\"updatedAt\":\"1727054343793\",\"isDeleted\":false}},{\"id\":\"hUEV0wprXe77xiErLpj0J\",\"teamId\":\"65OhIDFEa1QQdVqyoiX2n\",\"position\":\"Member\",\"inviteStatus\":\"Pending\",\"userId\":\"kUW8XapcgRxpt7eyKVHk8\",\"dancer\":{\"id\":\"YgvcGnXGAI7Oce_QGiuwD\",\"userId\":\"kUW8XapcgRxpt7eyKVHk8\",\"battlerId\":\"_SYSdbsTsSo249We4AlRW\",\"username\":\"facebookmike\",\"imageUrl\":null,\"nationality\":null,\"createdAt\":\"1726979136\",\"updatedAt\":\"1726979136\",\"isDeleted\":false}}],\"leaderUsername\":\"mikeyimfb\"}",
"error": "Field `members.dancer.nationality` must be an array of string.",
"success": false
}
]
},
"msg": "0 documents imported successfully, 1 documents failed during import. Use `error.importResults` from the raised exception to get a detailed error reason for each document."
}
The schema for team:
team: {
name: 'team',
num_documents: 0,
enable_nested_fields: true,
fields: [
{ name: 'name', type: 'string' },
{ name: 'leaderUsername', type: 'string' },
{ name: 'imageUrl', type: 'string', optional: true },
{ name: 'size', type: 'int32' },
{ name: 'members', type: 'object[]' },
] as const,
},
What could be an issue? I thought the issue would be because the value of members.dancer.nationality being null but members.dancer.imageUrl should be null as well 🤔Fanis Tharropoulos
09/23/2024, 8:07 AMmembers
array, resulting in Typesense using auto
for whatever type you pass in for the sub fields from then on. When you first pass a nationality for the first imported documents, Typesense expects each subsequent member to include a string nationality (it says it expects a string array because members is an array). You would have to manually define your members schema underneath it accordingly e.g.
{ name: "members.nationality", type: "string[]", "optional": true}
Fanis Tharropoulos
09/23/2024, 8:08 AMFanis Tharropoulos
09/23/2024, 8:11 AMnull
values into the request, and axios not omitting it from the request itself. If that's the case, please ping me so I can take a look into it (and if possible provide a reproducable example for me to check against)Mike Yim
09/24/2024, 2:16 AMteam: {
name: 'team',
num_documents: 0,
enable_nested_fields: true,
fields: [
{ name: 'name', type: 'string' },
{ name: 'leaderUsername', type: 'string' },
{ name: 'imageUrl', type: 'string', optional: true },
{ name: 'size', type: 'int32' },
{ name: 'members', type: 'object[]' },
{ name: "members.dancer.imageUrl", type: "string[]", "optional": true},
{ name: "members.dancer.nationality", type: "string[]", "optional": true},
] as const,
},
Mike Yim
09/24/2024, 2:33 AMMike Yim
09/24/2024, 6:18 PMMike Yim
09/24/2024, 10:45 PMMike Yim
09/24/2024, 10:48 PMFanis Tharropoulos
09/25/2024, 5:56 AMFanis Tharropoulos
09/25/2024, 9:00 AMMike Yim
09/25/2024, 5:47 PMMike Yim
09/25/2024, 9:34 PM