Files
wzdj/scripts/verify-o1-data-smoke.ts
卡若 a043367e1d
Some checks failed
CI / notice (push) Has been cancelled
chore: 同步工作区(streamer audience、verify-o1-data-smoke)以便推送完整树
Made-with: Cursor
2026-04-14 18:52:51 +08:00

49 lines
1.6 KiB
TypeScript
Raw 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)
})