Files
wzdj/old/scripts/verify-o1-data-smoke.ts
2026-04-20 14:56:28 +08:00

49 lines
1.6 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* O1 数据层冒烟:集合、索引、写入与 admin 查询路径WM-O1
* 执行cd 玩值电竞App && pnpm exec tsx scripts/verify-o1-data-smoke.ts
*/
import { ObjectId } from "mongodb"
import { getDb, closeMongo } from "../lib/mongodb/client"
import { COLLECTIONS } from "../lib/db/mongo/collections"
async function main() {
const db = await getDb()
const collName = COLLECTIONS.userJourneyEvents
const idx = await db.collection(collName).indexes()
const hasStreamerIdx = idx.some((i) => i.name === "props_streamerId_occurredAt_-1")
console.log("[indexes] userJourneyEvents props_streamerId:", hasStreamerIdx ? "OK" : "MISSING")
const testUserId = new ObjectId()
const sid = "69a03c9d0c31b38c1d842ae6"
const now = new Date()
await db.collection(collName).insertOne({
userId: testUserId,
sessionId: "smoke_sess",
clientEventId: `smoke_${Date.now()}`,
eventName: "live.audience.like",
properties: { streamerId: sid, surface: "smoke" },
source: "app",
occurredAt: now,
receivedAt: now,
})
const found = await db
.collection(collName)
.find({ userId: testUserId })
.sort({ occurredAt: -1 })
.limit(3)
.toArray()
console.log("[mongo] inserted + read back:", found.length, "events")
const rfm = await db.collection(COLLECTIONS.rfmRuleSets).countDocuments()
const scores = await db.collection(COLLECTIONS.rfmUserScores).countDocuments()
console.log("[mongo] rfmRuleSets count:", rfm, "rfmUserScores:", scores)
await closeMongo()
console.log("[done] test userId for manual admin check:", testUserId.toString())
}
main().catch((e) => {
console.error(e)
process.exit(1)
})