gpt4 book ai didi

mongodb - 在TS文件中编写mongo shell脚本

转载 作者:行者123 更新时间:2023-12-02 18:55:53 25 4
gpt4 key购买 nike

我有一个 mongo-init.js,它会在应用启动时创建一些测试数据:

// Create admin user for reading and writing data from server
db.createUser({
user: "admin",
pwd: "password",
roles: [
{
role: "readWrite",
db: "authStarterDB",
},
],
});

// Create testing data
// User - email: test@gmail.com, username: test, psw: qweqweqwe
let res = [
db.users.drop(),
db.users.createIndex({ email: 1 }, { unique: true }),
db.users.createIndex({ username: 1 }, { unique: true }),
db.users.insert({
email: "test@gmail.com",
username: "test",
salt: "62a633a7a64abd1909c69aa78259cff1258dd335c8c7a453de09e6801cd46b36",
hash:
"fc3042f428d75d266d8cf799536a2d7ed743d0cdab5bb086ad9379caa3f6d136bdcef3e746c4591272886e62e64fd2e6205c3479d257d06bc28f476919e6c6c0d7ee3a91f74eda3b851862baa51c45a666f295993e96e3c98c614af59a80d0857d735d7dd31070e36901309efe25fb81b363684d830545cb75d4787f045da82d10f308332fc0d7bf1b85c0ae5c601025e64f437947dc92ac319c294fb92e38106261ba47d004105afab6ad5a2af3d582a8897dc180ff97cedb775bc90082207387de92a18da293f4831e6efd89277fe128df9d0889c8e16b3e56c7b00bb66805108e7a7996d43b2754c8dcf8540347a67ffee4f8a866311afcfb59efa9c4c35fcd3f089e69fb04e77a2b11a49d904271b890e0e785902ebf11d620cbc7845f1762bc71df7163220e293b122cd6a35ce9d1359057cedb3da8c55bd29fab0261e2886bbf9d7f11d5782a5377be0c5e01b8bf3fe69cb0895d23f5604d08e5d4d09669f4448a1d102696ac053e77d0d413922cda7e4e51d71e606441ffea1bcb1dbe7d777a48548ec2df42a3c8d076f599919cd359fe622ba9a2193d38bb1e13dc2db1827c0ba20e52be3210778bb4fec8a7ae0b7f385a23aeac2592091f645146dc4ebea20efba6ed921871b1dae8841b07670762aa0312156fe02bb7b68ec06b34a7bca1ee4d2276483915eb753580afc20467abccbea9c506c118f290756c5fe7",
createdAt: ISODate("2020-01-01T00:00:00.174Z"),
updatedAt: ISODate("2020-01-01T00:00:00.174Z"),
}),
];
printjson(res);

我已经将整个应用程序转换为使用 Typescript,但我不确定如何处理这个文件,因为它不是真正的 javascript。

从编译器我得到 Cannot find name ''.ts(2304) for 'db', 'ISODate''printjson'.

我认为这也许可以转换为 .sh 脚本,但环顾四周我遇到了 this q/a 建议直接在js文件上写mongodb脚本。

那么有没有办法为mongodb命令声明类型呢?或者,如果不这样做,如何解决这个问题?

最佳答案

你应该使用 mongodb driver执行mongo脚本。另外,由于您使用的是 typescript ,因此还应该安装 mongo types .阅读有关 mongodb nodejs 驱动程序的文档。它真的很容易使用。
此外,printjosnISODate 等函数在 javascript 中不存在。

  1. ISODate("2020-01-01T00:00:00.174Z") 您应该使用 new Date("2020-01-01T00:00:00.174Z")
  2. 代替 printjson(res) 使用 ether console.log(res)console.log(JSON.stringify(res, null, 2))

关于mongodb - 在TS文件中编写mongo shell脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66194684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com