คำถามติดแท็ก mongoose

Mongoose เป็นเครื่องมือสร้างแบบจำลองวัตถุ MongoDB หรือ ODM (Object Document Mapper) เขียนด้วย JavaScript และออกแบบมาเพื่อทำงานในสภาพแวดล้อมแบบอะซิงโครนัส

4
การสร้าง Multifield Indexes ใน Mongoose / MongoDB
ฉันกำลังพยายามหาเอกสารเกี่ยวกับวิธีสร้างดัชนีหลายฟิลด์ใน Mongoosejs แต่ไม่เป็นประโยชน์ โดยเฉพาะฉันมีสองฟิลด์ที่ต้องจัดทำดัชนีและไม่ซ้ำกัน อะไรคือตัวอย่างสคีมาพังพอนที่ทำดัชนีสองฟิลด์เข้าด้วยกัน
93 mongodb  mongoose 

16
MongoDB รหัสผ่านที่มี“ @” อยู่
ฉันกำลังพยายามเชื่อมต่อกับฐานข้อมูล MongoDB ด้วยชื่อผู้ใช้และรหัสผ่านโดยใช้ Mongoose ใน Node.js เอกสารทั้งหมดบอกว่าสตริงการเชื่อมต่อควรมีลักษณะดังนี้ mongodb://username:password@host:port/db อย่างไรก็ตามรหัสผ่านมีอักขระ "@" อยู่ด้วย ฉันจะสร้างสตริงการเชื่อมต่อจากสิ่งนี้ที่พังพอนจะเข้าใจได้อย่างไร ฉันสามารถหลีกเลี่ยง '@' ในรหัสผ่านหรือมีวิธีการเชื่อมต่ออื่นที่ฉันต้องใช้?

1
รวมสองคำสั่ง OR ด้วย AND ในพังพอน
ฉันต้องการรวม OR-queries สองรายการกับ AND ใน Monoose เช่นในคำสั่ง SQL นี้: SELECT * FROM ... WHERE (a = 1 OR b = 1) AND (c=1 OR d=1) ฉันลองสิ่งนี้ในโมดูล NodeJS ซึ่งรับเฉพาะโมเดลวัตถุจากแอปพลิเคชันหลัก: /********** Main application ***********/ var query = MyModel.find({}); myModule1.addCondition(query); myModule2.addCondition(query); query.exec(...) /************ myModule1 ***************/ exports.addCondition = function(query) { query.or({a: 1}, {b: 1}); …

5
วิธีการสร้างและใช้ Enum ในพังพอน
ฉันพยายามสร้างและใช้enumประเภทหนึ่งในพังพอน ฉันตรวจสอบแล้ว แต่ไม่ได้ผลลัพธ์ที่ถูกต้อง ฉันใช้enumในโปรแกรมของฉันดังนี้: สคีมาของฉันคือ: var RequirementSchema = new mongooseSchema({ status: { type: String, enum : ['NEW,'STATUS'], default: 'NEW' }, }) แต่ฉันสับสนเล็กน้อยตรงนี้ฉันจะใส่ค่าของการenumชอบเข้าไปJava NEW("new")ได้อย่างไร ฉันจะบันทึกenumข้อมูลในฐานข้อมูลตามค่าที่แจกแจงได้อย่างไร ฉันใช้มันในโหนดด่วน js.

4
คุณจะลบเอกสารทั้งหมดออกจากคอลเลกชันด้วย Mongoose ได้อย่างไร?
ฉันรู้วิธี ... ลบเอกสารเดียว นำคอลเล็กชันออก ลบเอกสารทั้งหมดออกจากคอลเล็กชันด้วย Mongo แต่ฉันไม่รู้ว่าจะเอาเอกสารทั้งหมดออกจากคอลเลกชันด้วยพังพอนได้อย่างไร ฉันต้องการทำสิ่งนี้เมื่อผู้ใช้คลิกปุ่ม ฉันคิดว่าฉันต้องส่งคำขอ AJAX ไปยังจุดสิ้นสุดบางจุดและให้ปลายทางทำการลบ แต่ฉันไม่รู้วิธีจัดการกับการลบที่จุดสิ้นสุด ในตัวอย่างของฉันฉันมีDatetimeคอลเล็กชันและฉันต้องการลบเอกสารทั้งหมดเมื่อผู้ใช้คลิกปุ่ม api / datetime / index.js 'use strict'; var express = require('express'); var controller = require('./datetime.controller'); var router = express.Router(); router.get('/', controller.index); router.get('/:id', controller.show); router.post('/', controller.create); router.put('/:id', controller.update); router.patch('/:id', controller.update); router.delete('/:id', controller.destroy); module.exports = router; api / datetime …


7
MongoDB ลบวัตถุออกจากอาร์เรย์
เอกสาร: { _id: 5150a1199fac0e6910000002, name: 'some name, items: [{ id: 23, name: 'item name 23' },{ id: 24, name: 'item name 24' }] } มีวิธีดึงวัตถุเฉพาะจากอาร์เรย์หรือไม่? IE ฉันจะดึงวัตถุรายการทั้งหมดที่มี id 23 จากอาร์เรย์รายการได้อย่างไร ฉันเหนื่อย: db.mycollection.update({'_id': ObjectId("5150a1199fac0e6910000002")}, {$pull: {id: 23}}); อย่างไรก็ตามฉันค่อนข้างมั่นใจว่าฉันไม่ได้ใช้ 'ดึง' อย่างถูกต้อง จากสิ่งที่ฉันเข้าใจว่า pull จะดึงฟิลด์จากอาร์เรย์ แต่ไม่ใช่วัตถุ แนวคิดใด ๆ ในการดึงวัตถุทั้งหมดออกจากอาร์เรย์ เป็นโบนัสฉันพยายามทำสิ่งนี้ในพังพอน / nodejs และไม่แน่ใจว่าสิ่งประเภทนี้อยู่ใน …

8
(โหนด: 3341) การเลิกใช้คำเตือน: พังพอน: mpromise
ฉันกำลังพยายามพัฒนาคลาสที่ด้านบนของพังพอนด้วยวิธีการที่กำหนดเองของฉันดังนั้นฉันจึงขยายพังพอนด้วยคลาสของฉันเอง แต่เมื่อฉันเรียกร้องให้สร้างวิธีการรถใหม่มันใช้งานได้ แต่แถบและข้อผิดพลาดที่นี่ฉันยอมให้คุณ ดูสิ่งที่ฉันพยายามทำ ฉันได้รับคำเตือนนี้ (node:3341) DeprecationWarning: Mongoose: mpromise (mongoose's default promise library) is deprecated, plug in your own promise library instead: http://mongoosejs.com/docs/promises.html หลังจากที่ฉันทำ driver.createCar({ carName: 'jeep', availableSeats: 4, }, callback); ไดรเวอร์เป็นตัวอย่างของคลาสไดรเวอร์ const carSchema = new Schema({ carName: String, availableSeats: Number, createdOn: { type: Date, default: Date.now }, }); const …

4
บันทึกข้อความค้นหาทั้งหมดที่พังพอนไฟในแอปพลิเคชัน
ฉันมีแอปพลิเคชันที่ใช้ nodejs และ mongodb ฉันใช้พังพอนสำหรับ ODM แล้ว ตอนนี้ฉันต้องการบันทึกคำถามทั้งหมดที่พังพอนไฟระหว่างแอปพลิเคชันทั้งหมด จะบันทึกสิ่งเหล่านี้ได้อย่างไร?

17
ข้อผิดพลาดการเชื่อมต่อ MongoDB: MongoTimeoutError: การเลือกเซิร์ฟเวอร์หมดเวลาหลังจาก 30000 มิลลิวินาที
ฉันกำลังพยายามสร้างแอป fullstack ที่อ่านบทช่วยสอนต่อไปนี้: https://medium.com/javascript-in-plain-english/full-stack-mongodb-react-node-js-express-js-in-one-simple-app-6cc8ed6de274 ฉันทำตามทุกขั้นตอนแล้วลองเรียกใช้: node server.js แต่ฉันได้รับข้อผิดพลาดต่อไปนี้: ข้อผิดพลาดการเชื่อมต่อ MongoDB: MongoTimeoutError: การเลือกเซิร์ฟเวอร์หมดเวลาหลังจาก 30000 มิลลิวินาทีที่ Timeout._onTimeout (C: \ RND \ fullstack_app \ แบ็กเอนด์ \ node_modules \ mongodb \ lib \ core \ sdam \ server_selection.js: 308: 9) ที่ listOnTimeout timers.js: 531: 17) ที่ processTimers (ภายใน / timers.js: 475: 7) {ชื่อ: 'MongoTimeoutError', …

4
MongoError: การปรับใช้ MongoDB นี้ไม่รองรับการเขียนซ้ำได้ โปรดเพิ่ม retryWrites = false ในสตริงการเชื่อมต่อของคุณ
ฉันใช้"mongoose": "^5.7.1"ในโครงการ Node.js ของฉัน ฉันกำลังทำ API ซึ่งเกี่ยวข้องกับการปรับปรุงในสองเอกสาร ดังนั้นฉันใช้ธุรกรรมดังต่อไปนี้: // Start the transaction session = await mongoose.startSession() session.startTransaction() await Promise.all([ <1st update operation>, <2nd update operation> ]) // Commit the transaction session.commitTransaction() เมื่อฉันกด API นี้ในสภาพแวดล้อมท้องถิ่นของฉันฉันได้รับข้อผิดพลาดดังต่อไปนี้: MongoError: การปรับใช้ MongoDB นี้ไม่รองรับการเขียนซ้ำได้ โปรดเพิ่ม retryWrites = false ในสตริงการเชื่อมต่อของคุณ เมื่อฉันกด API นี้ในสภาพแวดล้อมระยะไกลจากนั้นก็ทำงานได้ดี ฉันใช้https://www.clever-cloud.comเป็นคลาวด์ฐานข้อมูลและ AWS เป็น api …
10 mongodb  mongoose 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.