ค้นหาเว็บไซต์
ฉันกำลังศึกษาการใช้งาน MongoDB กับไดรเวอร์ Nodejs ใน Typescript; ฉันต้องการดึงเอกสารย่อยจากเอกสารด้วยการโปรเจ็กชันแบบ "ไดนามิก"; สิ่งนี้ควรทำโดยใช้ array ที่ระบุฟิลด์ที่ต้องการ:
{ "_id" : ObjectId("6006be017fdd3b1018e0f533"), "name" : "Cindy", "su อ่านต่อไป →ฉันกำลังมองหาวิธีที่ดีในการป้องกันการเขียน objectId1 === objectId2 เมื่อตรวจสอบความเท่ากันของ MongoDB ObjectIds จะดีมากถ้ามีกฎการลินต์ (หรือวิธีแก้ปัญหา TypeScript) เพื่อบังคับใช้เรื่องนี้
ปัญหา:
const theObjectIdAsString = "6228ab5bedddb4fb156e1f73"; const objectId = new ObjectId(theObjectIdAsString) const sameObjectId = new ObjectId(theObjectIdAsString) // works as expected objectId.equals(sameObjectId) // true objectId.toHexString() === sameObje อ่านต่อไป →
มีวิธีใดในการสร้างความสัมพันธ์ m-to-n ทางเดียวหรือไม่ หรือทั้งสองคอลเลกชันต้องมี id ของกันและกัน? ฉันกำลังพยายามทำบางอย่างเช่นนี้:
model Country { id String @id @default(auto()) @map("_id") @db.ObjectId name String @unique users User[] } model User { id อ่านต่อไป →
jest-mongodb (npm run test) ทำงานได้ดีบนเครื่องท้องถิ่นแต่ไม่ทำงานบน gitlab-ci มันเคยทำงานและจู่ๆ ก็หยุดทำงานแล้วแสดงข้อผิดพลาดดังต่อไปนี้
ไฟล์: jest.config.js
const merge = require('merge'); const ts_preset = require('ts-jest/jest-preset'); const jest_mongodb = require('@shelf/jest-mongodb/jest-preset'); module.exports = merge.recursive(ts_preset, jest_mongodb, { globals: { test_url: `http://${process.env.HOST || '127.0.0.1'}:${ process.env.PORT || 3000 } อ่านต่อไป →ผมอยากถามว่า: ผมกำลังใช้ Nest กับ MongoDB เป็น API สำหรับบริการหลายผู้เช่า นั่นหมายความว่าผมจะมีฐานข้อมูลใน MongoDB สำหรับผู้เช่าแต่ละราย ผมเห็นในเอกสารของ Nest ว่า เพื่อให้มีการเชื่อมต่อฐานข้อมูลหลายตัว เราจำเป็นต้องทำสิ่งนี้ใน app.module:
app.module.tsJS import { Module } from '@nestjs/common'; import { MongooseModule } from '@nestjs/mongoose'; @Module({ imports: [ MongooseModule.forRoot('mongodb://localhost/test', { connectionName: 'cats', }), MongooseMo อ่านต่อไป →ดังนั้นฉันมีฐานข้อมูล mongo ที่มีทุกฟิลด์ใน snake_case
ใน TypeScript มันคงจะดีถ้าฉันสามารถใช้คลาสเป็นโมเดลได้ แต่ตัวแปรก็จำเป็นต้องเป็น snake_case ด้วย.. สามารถเปลี่ยนแปลงอะไรบางอย่างเพื่อให้ตัวแปรในคลาส TypeScript เป็น camelCase ได้ ในขณะที่รูปแบบการตั้งชื่อฐานข้อมูลยังคงเหมือนเดิมได้หรือไม่?
แก้ไข: ฉันลืมบอกไปว่าแอปพลิเคชันกำลังรันใน Node และตอนนี้ฉันก็ใช้แค่ไลบรารี mongodb มาตรฐานเท่านั้น ฉันก็เปิดรับที่จะใช้สิ่งอื่นถ้ามันช่วยแก้ปัญหานี้ได
อ่านต่อไป →ฉันมีเอกสารที่มีข้อมูลดังต่อไปนี้:
Chest: { ChestID: 400, // Chest ID is unique Items: [{ ItemID: 200, //Item ID unique too ItemIndexes: ['aaa10', 'bbb20'] // indexes should not be repeated }] }ฉันพยายามทำสิ่งนี้แล้วแต่ฉันหา วิธีที่จะทำให้มันใช้งานไม่ได้
public async appendItems(chestId: number, items: Array < ChestItem > ) { const tokensIds = items.map(item => item.tokenId) // bidimensional array [][] อ่านต่อไป →ฉันมีสกีม่า Organization ซึ่งมีซับเอกสาร address กำหนดเป็น AddressSchema ทุกครั้งที่ฉันอัปเดตฟิลด์เดียวของซับเอกสาร address จากโมเดลแม่ Organization มันจะแทนที่ซับเอกสาร address ทั้งหมดด้วยฟิลด์ที่อัปเดต ฉันต้องการที่จะสามารถอัปเดตเฉพาะค่าที่เปลี่ยนแปลงและปล่อยซับเอกสาร address ที่เหลือไว้ตามเดิม
นี่คือโค้ดสำหรับสคีมาที่อยู่:
export const AddressSchema = new Schema<IAddress, AddressModel>({ city: { type: อ่านต่อไป →
ฉันกำลังได้รับข้อผิดพลาดของ TypeScript ในการตั้งค่า next auth ของฉันเมื่อพยายามเพิ่ม MongoDB adapter ฉันมี MongoDB และความคิดของฉันคือการสร้างผู้ใช้โดยใช้ next auth แล้วเข้าสู่ระบบด้วยผู้ให้บริการข้อมูลประจำตัว
ฉันกำลังใช้ Next Auth V5.
นี่คือไฟล์การตั้งค่าการตรวจสอบตัวตน
อ่านต่อไป →
ฉันมีปัญหาเกี่ยวกับคำขอและการตอบสนองของฉัน ฉันกำลังจัดการปัญหาเมื่อผู้ใช้ต้องการเพิ่มสินค้าชนิดเดียวกันหลายชิ้นแต่มีขนาดต่างกัน สิ่งแรกที่ฉันทำคือ ตรวจสอบว่า Id มีอยู่แล้วหรือไม่โดยการทำ count และใช้ if statement หากมีอยู่แล้วฉันจะสร้าง object id ใหม่โดยใช้ ({"_id": ObjectId()}) โดยไม่ใส่พารามิเตอร์ ทุกอย่างทำงานตามที่คาดไว้ คือ สามารถแทรก object เดิมซ้ำได้ แต่มี id ใหม่ ขั้นตอนต่อไปที่ฉันทำคือส่งการตอบสนองที่แตกต่างออกไป และมันจะแสดงการตอบสนองด้วย Id ที่แตกต่าง แต่เมื่อฉันพยายามอัปเดต Id ของ
อ่านต่อไป →