@exabugs/dynamodb-client 1.3.15 → 1.3.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/dist/server/handler.cjs +28 -8
- package/dist/server/handler.cjs.map +2 -2
- package/dist/server/operations/find/nearQuery.d.ts.map +1 -1
- package/dist/server/operations/find/nearQuery.js +30 -11
- package/dist/server/operations/find/nearQuery.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nearQuery.d.ts","sourceRoot":"","sources":["../../../../src/server/operations/find/nearQuery.ts"],"names":[],"mappings":"AAKA,OAAO,EAA0B,KAAK,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAS1F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAO7C;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"nearQuery.d.ts","sourceRoot":"","sources":["../../../../src/server/operations/find/nearQuery.ts"],"names":[],"mappings":"AAKA,OAAO,EAA0B,KAAK,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAS1F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAO7C;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,CAAC,CAqKrB"}
|
|
@@ -5,7 +5,7 @@ import { QueryCommand } from '@aws-sdk/lib-dynamodb';
|
|
|
5
5
|
import { DEFAULT_GEOHASH_CONFIG } from '../../../shared/geohash/index.js';
|
|
6
6
|
import { createLogger } from '../../../shared/index.js';
|
|
7
7
|
import { executeNearSearch } from '../../query/nearSearch.js';
|
|
8
|
-
import { executeDynamoDBOperation, getDBClient, getTableName,
|
|
8
|
+
import { executeDynamoDBOperation, extractCleanRecord, getDBClient, getTableName, } from '../../utils/dynamodb.js';
|
|
9
9
|
const logger = createLogger({
|
|
10
10
|
service: 'near-query',
|
|
11
11
|
level: process.env.LOG_LEVEL || 'info',
|
|
@@ -96,19 +96,38 @@ export async function executeNearQuery(resource, fieldName, nearQuery, limit, re
|
|
|
96
96
|
geohashPrefix,
|
|
97
97
|
count: validRecords.length,
|
|
98
98
|
});
|
|
99
|
-
// __shadowKeysを除外
|
|
100
|
-
//
|
|
101
|
-
|
|
102
|
-
|
|
99
|
+
// data属性からレコードを抽出し、__shadowKeysを除外
|
|
100
|
+
// 本体レコードは { PK, SK, data: { ...actual fields } } という構造
|
|
101
|
+
const cleanRecords = validRecords.map((record) => {
|
|
102
|
+
logger.debug('Before extractCleanRecord', {
|
|
103
|
+
requestId,
|
|
104
|
+
resource,
|
|
105
|
+
recordKeys: Object.keys(record),
|
|
106
|
+
hasData: 'data' in record,
|
|
107
|
+
});
|
|
108
|
+
const clean = extractCleanRecord(record);
|
|
109
|
+
logger.debug('After extractCleanRecord', {
|
|
110
|
+
requestId,
|
|
111
|
+
resource,
|
|
112
|
+
cleanKeys: Object.keys(clean),
|
|
113
|
+
hasLocation: 'location' in clean,
|
|
114
|
+
});
|
|
115
|
+
return clean;
|
|
116
|
+
});
|
|
117
|
+
logger.debug('Clean records extracted', {
|
|
118
|
+
requestId,
|
|
119
|
+
resource,
|
|
120
|
+
geohashPrefix,
|
|
121
|
+
count: cleanRecords.length,
|
|
122
|
+
sampleKeys: cleanRecords[0] ? Object.keys(cleanRecords[0]) : [],
|
|
123
|
+
});
|
|
124
|
+
return cleanRecords;
|
|
103
125
|
};
|
|
104
126
|
// 9ブロック検索を実行
|
|
105
127
|
const result = await executeNearSearch(nearQuery, fieldName, limit, searchFunction, DEFAULT_GEOHASH_CONFIG);
|
|
106
|
-
// searchFunction
|
|
107
|
-
//
|
|
108
|
-
const items = result.documents
|
|
109
|
-
...doc,
|
|
110
|
-
__distance: doc.__distance,
|
|
111
|
-
}));
|
|
128
|
+
// searchFunctionが既にクリーンなレコード(data属性から抽出済み)を返しているので、
|
|
129
|
+
// そのまま使用する
|
|
130
|
+
const items = result.documents;
|
|
112
131
|
logger.info('$near query succeeded', {
|
|
113
132
|
requestId,
|
|
114
133
|
resource,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nearQuery.js","sourceRoot":"","sources":["../../../../src/server/operations/find/nearQuery.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,sBAAsB,EAAkB,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,YAAY,
|
|
1
|
+
{"version":3,"file":"nearQuery.js","sourceRoot":"","sources":["../../../../src/server/operations/find/nearQuery.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@exabugs/dynamodb-client",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.17",
|
|
4
4
|
"description": "DynamoDB Single-Table Client SDK with MongoDB-like API, Shadow Records, and Lambda implementation for serverless applications",
|
|
5
5
|
"author": "exabugs",
|
|
6
6
|
"license": "MIT",
|