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

MongoDB เป็นฐานข้อมูล NoSQL ที่ปรับขนาดได้และมีประสิทธิภาพสูง รองรับภาษาจำนวนมากและแพลตฟอร์มการพัฒนาแอปพลิเคชัน คำถามเกี่ยวกับการดูแลเซิร์ฟเวอร์สามารถสอบถามได้ที่ https://dba.stackexchange.com

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}); …

6
ตำแหน่งของฐานข้อมูล mongodb บน mac
ฉันยังใหม่กับ mac และ mongodb ฉันมีข้อสงสัยแปลก ๆ ในการเข้าถึงฐานข้อมูลที่สร้างโดยใช้ mongodb บน Mac? ฉันรู้ว่าใน windows มีโฟลเดอร์ชื่อ c: \ data \ db ซึ่งเป็นที่เก็บไฟล์ฐานข้อมูลของฉัน ฐานข้อมูลจะถูกจัดเก็บอย่างไรและที่ไหนใน Mac ฉันจำได้ว่าทำอะไรบางอย่างเช่น sudo mkdir -p /data/db sudo chown `id -u` /data/db เพื่อสร้างโฟลเดอร์ดังกล่าวบน mac แต่ฉันไม่พบไฟล์ฐานข้อมูลใด ๆ ในโฟลเดอร์นี้แม้ว่าฉันจะสร้างฐานข้อมูลแล้วก็ตาม ไฟล์ฐานข้อมูลบันทึกบน Mac อยู่ที่ไหน ความช่วยเหลือใด ๆ จะได้รับการชื่นชมจริงๆ


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

13
ไม่สามารถเชื่อมต่อกับ mongodb errno: 61 การเชื่อมต่อถูกปฏิเสธ
ผมเพิ่งติดตั้ง MongoDB-2.6.0 กับHomebrew หลังจากติดตั้งสำเร็จฉันพยายามเชื่อมต่อโดยใช้mongoคำสั่ง ฉันได้รับข้อผิดพลาดต่อไปนี้ซึ่งไม่อนุญาตให้เชื่อมต่อ: Failed to connect to 127.0.0.1:27017, reason: errno:61 Connection refused Error: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146 exception: connect failed

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 …

4
NoSQL แบบเน้นคอลัมน์แตกต่างจากแบบเอกสารอย่างไร?
ฐานข้อมูล NoSQL สามประเภทที่ฉันอ่านคือคีย์ - ค่าเชิงคอลัมน์และเชิงเอกสาร คีย์ - ค่าค่อนข้างตรงไปตรงมา - คีย์ที่มีค่าธรรมดา ฉันเคยเห็นฐานข้อมูลเชิงเอกสารที่อธิบายว่าเหมือนคีย์ - ค่า แต่ค่าสามารถเป็นโครงสร้างได้เช่นเดียวกับออบเจ็กต์ JSON "เอกสาร" แต่ละรายการสามารถมีคีย์ทั้งหมดบางส่วนหรือไม่มีคีย์ใดก็ได้เหมือนกัน คอลัมน์ที่เน้นดูเหมือนจะเหมือนกับเอกสารที่คุณไม่ได้ระบุโครงสร้าง แล้วสองสิ่งนี้แตกต่างกันอย่างไรและทำไมคุณถึงใช้อีกอันหนึ่ง? ฉันได้ดู MongoDB และ Cassandra โดยเฉพาะ โดยพื้นฐานแล้วฉันต้องการโครงสร้างแบบไดนามิกที่สามารถเปลี่ยนแปลงได้ แต่ไม่ส่งผลกระทบต่อค่าอื่น ๆ ในขณะเดียวกันฉันก็ต้องสามารถค้นหา / กรองคีย์ที่ต้องการและเรียกใช้รายงานได้ ด้วย CAP AP คือสิ่งที่สำคัญที่สุดสำหรับฉัน ข้อมูลสามารถ "ซิงค์" ข้ามโหนดได้ในที่สุดตราบเท่าที่ไม่มีความขัดแย้งหรือข้อมูลสูญหาย ผู้ใช้แต่ละคนจะได้รับ "ตาราง" ของตนเอง

2
MongoDB: เซิร์ฟเวอร์มีคำเตือนการเริ่มต้น '' ไม่ได้เปิดใช้งานการควบคุมการเข้าถึงสำหรับฐานข้อมูล ''
ฉันติดตั้ง MongoDB 3.4.1 เป็นครั้งแรกในวันนี้ แต่เมื่อฉันเริ่มและใช้ MongoDB shell มันให้คำเตือนเหล่านี้แก่ฉันด้านล่าง: C:\Users\hs>"C:\Program Files\MongoDB\Server\3.4\bin\mongo.exe MongoDB shell version v3.4.1 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.4.1 Server has startup warnings: 2017-01-12T21:19:46.941+0800 I CONTROL [initandlisten] 2017-01-12T21:19:46.942+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2017-01-12T21:19:46.942+0800 I CONTROL [initandlisten] ** Read and …
91 mongodb 


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 แล้ว ตอนนี้ฉันต้องการบันทึกคำถามทั้งหมดที่พังพอนไฟระหว่างแอปพลิเคชันทั้งหมด จะบันทึกสิ่งเหล่านี้ได้อย่างไร?

4
จะใช้ตัวแปรเป็นชื่อฟิลด์ใน mongodb-native findOne () ได้อย่างไร?
ฉันมีข้อมูลนี้ใน mongodb: { "name": "Amey", "country": "India", "region": "Dhule,Maharashtra" } และฉันต้องการดึงข้อมูลในขณะที่ส่งชื่อเขตข้อมูลเป็นตัวแปรในแบบสอบถาม ต่อไปนี้ไม่ทำงาน: var name = req.params.name; var value = req.params.value; collection.findOne({name: value}, function(err, item) { res.send(item); }); ฉันจะสอบถาม mongodb โดยรักษาทั้งชื่อเขตข้อมูลและค่าแบบไดนามิกได้อย่างไร

3
MongoDB Schema Design - เอกสารขนาดเล็กจำนวนมากหรือเอกสารขนาดใหญ่น้อยกว่า?
ความเป็นมา ฉันกำลังสร้างต้นแบบการแปลงจากฐานข้อมูล RDBMS ของเราเป็น MongoDB ในขณะที่การทำให้เป็นปกติดูเหมือนว่าฉันมีสองทางเลือกทางเลือกหนึ่งซึ่งนำไปสู่เอกสารขนาดเล็กจำนวนมาก (หลายล้าน) หรืออีกทางหนึ่งซึ่งนำไปสู่เอกสารขนาดใหญ่น้อยลง (หลายแสน) ถ้าฉันสามารถกลั่นมันให้เป็นอะนาล็อกธรรมดาได้ก็จะมีความแตกต่างระหว่างคอลเล็กชันที่มีเอกสารของลูกค้าน้อยกว่าเช่นนี้ (ใน Java): คลาสลูกค้า { ชื่อสตริงส่วนตัว ที่อยู่ส่วนตัว // CreditCard แต่ละรายการมีอินสแตนซ์การชำระเงินหลายร้อยรายการ ชุดส่วนตัว <CreditCard> creditCards; } หรือคอลเลกชันที่มีเอกสารการชำระเงินจำนวนมากเช่นนี้: class Payment { ลูกค้าลูกค้าส่วนตัว CreditCard ส่วนตัว creditCard; วันที่ส่วนตัว payDate; ส่วนตัวลอย payAmount; } คำถาม MongoDB ออกแบบมาเพื่อรองรับเอกสารขนาดเล็กจำนวนมากหรือเอกสารขนาดใหญ่น้อยกว่าหรือไม่? คำตอบส่วนใหญ่ขึ้นอยู่กับคำถามที่ฉันวางแผนจะเรียกใช้หรือไม่? (เช่นลูกค้า X มีบัตรเครดิตกี่ใบเทียบกับจำนวนเงินเฉลี่ยที่ลูกค้าจ่ายทั้งหมดในเดือนที่แล้ว?) ฉันมองไปรอบ ๆ มากมาย แต่ฉันไม่ได้สะดุดกับแนวทางปฏิบัติที่ดีที่สุดของ MongoDB schema ที่จะช่วยฉันตอบคำถามของฉัน


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.