Mocking data fra MongoDB for at tilfredsstille TypeScript i Jest

Jeg opretter et TypeScript-interface for hver model, der udvider mongoose.Document.

import mongoose, { Document } from 'mongoose'; export interface IAccount extends Document { _id: mongoose.Types.ObjectId; name: string; industry: string; }

Skemaet eksporteres dereft

Læs mere →

node.js - TypeORM en-til-en join i mongodb

Jeg er ny til TypeORM, så jeg undskylder på forhånd, hvis dette spørgsmål lyder dumt.

Jeg har 2 tabeller, User og Category. User har en kolonne categoryId, som er en fremmednøgle til Category-tabellen.

Kategoritabel:

@Entity() export class Category { @ObjectIdColumn() public _id: ObjectID; @PrimaryColumn() public id: string; public toString(): string { return `${this.id}`; } }

Brugertabel

@Entity() exp

Læs mere →

node.js - MongoDB-Mongoose Typescript Generiske Forespørgsler

Jeg laver en hjælpeklasse til alle mine databasefunktioner med MongoDB. Mens jeg gør det, tænkte jeg på, om det er muligt at oprette generiske databasefunktioner for MongoDB med mongoose. Jeg testede lidt, men kom ikke frem til et resultat. Jeg bruger, som jeg nævnte, MongoDB med mongoose i kombination med Typescript.

export async function getByID<T>(id: string): Promise<T> { const found: T = await T.findById(id); return found; }

Mit kode

Læs mere →

node.js - Hvordan man opsætter et skemadesign for brugere med notifikationer i MongoDB

Jeg arbejder i øjeblikket på at oprette et forhold mellem brugere og notifikationer i min app. Hver bruger har mange notifikationer, og en enkelt notifikation kan have mange brugere. Jeg gemmer i øjeblikket et array af bruger-ID'er på notifikationsdokumentet og et array af objekter, der indeholder notifikations-ID'et sammen med et boolean flag, der angiver, om det er blevet læst eller ej på brugerdokumentet. Mine krav er som følger:

  1. Jeg burde kunne forespørge på alle en brugers not

    Læs mere →

typescript - Hvordan man håndterer samtidighed i MongoDB og auto-inkrement på samme tid

Jeg har specifikke krav, hvor kunden har bedt om, at deres ID skal være automatisk stigende med et nummer. Og stadig kunne håndtere samtidighed, når det sker.

Logikken er først at tjekke: 1. Tjek om brugeren har skrivetilladelse 2. tjek om req.body har tilstrækkelig information 3. Tjek om samlingen allerede har data eller ej 4. hvis samlingen har data, forøges tugboatId automatisk eller sættes tugboatId til 1

Her er min kode:

interface ITugBoatBase { name: string }

Læs mere →

typescript - Hvordan skubber man et element til et array i et MongoDB-dokument på Nest.js?

Jeg føler mig ekstremt dum over at stille dette spørgsmål, men det er første gang, jeg arbejder med Typescript generelt og Nest.js i særdeleshed. Jeg arbejder med Nest, MongoDB (gennem Mongoose) og Express.js.

Jeg har to modeller: Bruger og Indlæg. Til dette ville den rele

Læs mere →

node.js - Skrive en GraphQL-resolver til at tilføje en bruger til MongoDB-database

Jeg prøver at få en fungerende GraphQL-resolver for at tilføje en bruger til min MongoDB-database. Som det er lige nu, fungerer min addUser-mutation ikke, men min deleteUser-mutation gør. Jeg har brug for hjælp til at få denne mutation til at fungere på en lignende måde som min deleteUser-mutation.

import { ObjectId } from "mongodb"; import { Database, User } from "../../../lib/types"; export const userResolvers: IResolvers = { Query: { users: async (

Læs mere →

typescript - Typeorm, MongoDB og TypeGraphQL - Udfyld - Opslag

Jeg arbejder med Typeorm og MongoDB. Jeg har en UserAlert-enhed, der gemmer _id'et på en anden User-enhed som et felt. Mit spørgsmål er, hvordan man kan få oplysningerne om den enhed, som det _id henviser til. Det ville være noget lignende populate i mongoose.

Eksempel :

Bruger :

@Entity({ name: 'Users' }) export default class User extends BaseEntity { @ObjectIdColumn() _id!: ObjectID; @Column('string') firstName!: string; @Colu

Læs mere →

Mongodb 4.1.4 med TypeScript - findOne syntaksfejl: Type ‘void’ kan ikke tildeles typen ‘DBUser | undefined’.ts(2322)

Jeg bruger MongoDB-klient 4.1.4 med TypeScript og får en mærkelig ts-fejl på kode, der plejede at fungere fint.

Her er et kodeeksempel:

async function getUser(): Promise<DBUser | undefined> { const filter: Filter<DBUser> = { apiKey: '123' } return collection.findOne(filter) }

Det er fejlen på vscode:

Type 'void' is not assignable to type 'DBUser | undefined'.ts(2322) (method) Collection<Document>.findOne(callback: Callbac

Læs mere →

javascript - Aggregering i Mongodb med dynamisk projektion

Jeg studerer MongoDB med Nodejs-driveren i Typescript; jeg vil gerne hente sub-dokumenter fra dokumenter med en "dynamisk" projektion; dette skal gøres med et array, der angiver de ønskede felter:

{ "_id" : ObjectId("6006be017fdd3b1018e0f533"), "name" : "Cindy&q

Læs mere →