1
0
mirror of https://github.com/spacebarchat/server.git synced 2024-09-22 10:41:34 +02:00
server/src/test/mongo_test.ts

41 lines
1000 B
TypeScript
Raw Normal View History

2021-02-14 19:01:41 +01:00
import mongoose, { Schema, Types } from "mongoose";
require("mongoose-long")(mongoose);
2021-02-23 22:10:01 +01:00
const userSchema = new Schema({
2021-04-06 18:02:10 +02:00
id: String,
2021-02-14 19:01:41 +01:00
});
2021-02-23 22:10:01 +01:00
const messageSchema = new Schema({
2021-04-06 18:02:10 +02:00
id: String,
2021-02-23 22:10:01 +01:00
content: String,
});
const message = mongoose.model("message", messageSchema, "messages");
const user = mongoose.model("user", userSchema, "users");
messageSchema.virtual("u", {
ref: user,
localField: "id",
foreignField: "id",
justOne: true,
});
messageSchema.set("toObject", { virtuals: true });
messageSchema.set("toJSON", { virtuals: true });
2021-01-30 19:58:15 +01:00
async function main() {
2021-02-14 19:01:41 +01:00
const conn = await mongoose.connect("mongodb://localhost:27017/lambert?readPreference=secondaryPreferred", {
useNewUrlParser: true,
useUnifiedTopology: false,
});
2021-01-30 19:58:15 +01:00
console.log("connected");
2021-02-01 21:49:01 +01:00
2021-02-23 22:10:01 +01:00
// const u = await new user({ name: "test" }).save();
// await new message({ user: u._id, content: "test" }).save();
2021-02-14 19:01:41 +01:00
2021-02-23 22:10:01 +01:00
const test = await message.findOne({}).populate("u").exec();
// @ts-ignore
console.log(test?.toJSON());
2021-01-30 19:58:15 +01:00
}
main();