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

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

15
จะติดตั้ง mongoDB บน ​​windows ได้อย่างไร?
ฉันพยายามที่จะทดสอบ mongoDB และดูว่ามันเป็นอะไรสำหรับฉัน ฉันดาวน์โหลดรุ่น 32 บิต windows แต่ไม่มีความคิดเกี่ยวกับวิธีการดำเนินการต่อจากนี้ ปกติแล้วฉันจะใช้บริการ WAMP เพื่อพัฒนาบนเครื่องคอมพิวเตอร์ของฉัน ฉันสามารถรัน mongoDB บน ​​Wamp ได้หรือไม่? อย่างไรก็ตามวิธีที่ดีที่สุด (ง่ายที่สุด) ในการทำให้ใช้งานได้กับ Windows คืออะไร ขอบคุณ!
130 windows  install  mongodb 

5
จะลบองค์ประกอบอาร์เรย์ใน mongodb ได้อย่างไร?
นี่คือโครงสร้างอาร์เรย์ contact: { phone: [ { number: "+1786543589455", place: "New Jersey", createdAt: "" } { number: "+1986543589455", place: "Houston", createdAt: "" } ] } ที่นี่ฉันรู้แค่รหัส mongo ( _id) และหมายเลขโทรศัพท์ ( +1786543589455) และฉันจำเป็นต้องลบองค์ประกอบอาร์เรย์ที่เกี่ยวข้องทั้งหมดออกจากเอกสาร กล่าวคือองค์ประกอบที่จัดทำดัชนีเป็นศูนย์ในอาร์เรย์โทรศัพท์ตรงกับหมายเลขโทรศัพท์และจำเป็นต้องลบองค์ประกอบอาร์เรย์ที่เกี่ยวข้อง contact: { phone: [ { number: "+1986543589455", place: "Houston", createdAt: "" } ] } ฉันลองใช้วิธีการอัปเดตต่อไปนี้ collection.update( { …
130 mongodb 

1
วิธีอัพเดตเร็กคอร์ด mongo โดยใช้ Rogue ด้วย MongoCaseClassField เมื่อคลาสเคสมี scala Enumeration
ฉันกำลังอัพเกรดรหัสที่มีอยู่จากRogue 1.1.8ไป2.0.0และจากlift-mongodb-record2.4-M5 to 2.5 ฉันมีปัญหาในการเขียนMongoCaseClassFieldซึ่งมี scala enum ซึ่งฉันสามารถใช้ความช่วยเหลือได้บ้าง ตัวอย่างเช่น, object MyEnum extends Enumeration { type MyEnum = Value val A = Value(0) val B = Value(1) } case class MyCaseClass(name: String, value: MyEnum.MyEnum) class MyMongo extends MongoRecord[MyMongo] with StringPk[MyMongo] { def meta = MyMongo class MongoCaseClassFieldWithMyEnum[OwnerType <: net.liftweb.record.Record[OwnerType], CaseType](rec : …
129 mongodb  class  scala  record  lift 

4
ดำเนินการสืบค้น regex ด้วย pymongo
ฉันกำลังพยายามค้นหา regex โดยใช้ pymongo กับเซิร์ฟเวอร์ mongodb โครงสร้างเอกสารมีดังนี้ { "files": [ "File 1", "File 2", "File 3", "File 4" ], "rootFolder": "/Location/Of/Files" } ฉันต้องการรับไฟล์ทั้งหมดที่ตรงกับรูปแบบ * ไฟล์ ฉันลองทำสิ่งนี้แล้ว db.collectionName.find({'files':'/^File/'}) แต่ฉันไม่ได้อะไรกลับมาฉันขาดอะไรไปเพราะตามเอกสารของ mongodb สิ่งนี้น่าจะทำได้ หากฉันทำการค้นหาในคอนโซล mongo มันใช้งานได้ดีหมายความว่า api ไม่รองรับหรือฉันแค่ใช้มันไม่ถูกต้อง
129 mongodb  pymongo 

5
วิธีอัปเดต _id ของเอกสาร MongoDB หนึ่งชุด
ฉันต้องการอัปเดต_idฟิลด์ของเอกสารเดียว ฉันรู้ว่ามันไม่ใช่แนวปฏิบัติที่ดีจริงๆ แต่ด้วยเหตุผลทางเทคนิคฉันต้องอัปเดต หากฉันพยายามอัปเดตฉันจะได้รับ: > db.clients.update({ _id: ObjectId("123")}, { $set: { _id: ObjectId("456")}}) Performing an update on the path '_id' would modify the immutable field '_id' และไม่ได้ทำการอัพเดต. ฉันจะอัปเดตได้อย่างไร
129 mongodb 

10
จะจัดเรียงคอลเลกชันตามวันที่ใน MongoDB ได้อย่างไร?
ฉันใช้ MongoDB กับ Node.JS. ฉันมีคอลเล็กชันที่มีวันที่และแถวอื่น ๆ วันที่เป็นDateวัตถุJavaScript ฉันจะจัดเรียงคอลเลคชันนี้ตามวันที่ได้อย่างไร?
125 node.js  mongodb 

3
พังพอนทำดัชนีในรหัสการผลิต
ตามเอกสารพังพอนสำหรับMongooseJSและMongoDB/ Node.js: เมื่อแอปพลิเคชันของคุณเริ่มต้นขึ้น Mongoose จะเรียกensureIndexใช้ดัชนีที่กำหนดไว้ในสคีมาของคุณโดยอัตโนมัติ แม้ว่าจะเหมาะสำหรับการพัฒนา แต่ขอแนะนำให้ปิดใช้งานพฤติกรรมนี้ในการผลิตเนื่องจากการสร้างดัชนีอาจทำให้เกิดผลกระทบต่อประสิทธิภาพอย่างมาก ปิดการทำงานโดยตั้งค่าautoIndexตัวเลือกของสคีมาของคุณเป็นเท็จ สิ่งนี้ดูเหมือนจะแนะนำให้ลบการจัดทำดัชนีอัตโนมัติจากพังพอนก่อนที่จะปรับใช้เพื่อเพิ่มประสิทธิภาพ Mongoose จากการสั่งให้ Mongo ไปและปั่นผ่านดัชนีทั้งหมดในการเริ่มต้นแอปพลิเคชันซึ่งดูเหมือนจะสมเหตุสมผล วิธีที่เหมาะสมในการจัดการการจัดทำดัชนีในรหัสการผลิตคืออะไร? บางทีสคริปต์ภายนอกควรสร้างดัชนี? หรืออาจensureIndexไม่จำเป็นหากแอปพลิเคชั่นเดียวเป็นผู้อ่าน / เขียนเพียงคนเดียวในคอลเลคชันเนื่องจากจะดำเนินการต่อดัชนีทุกครั้งที่มีการเขียน DB แก้ไข:เพื่อเสริม MongoDB มีเอกสารที่ดีสำหรับวิธีการจัดทำดัชนี แต่ไม่ควรทำทำไมหรือเมื่อใดจึงควรทำคำสั่งการจัดทำดัชนีอย่างชัดเจน สำหรับฉันแล้วดูเหมือนว่าดัชนีควรได้รับการอัปเดตโดยแอปพลิเคชันนักเขียนโดยอัตโนมัติในคอลเลกชันที่มีดัชนีที่มีอยู่และนั่นensureIndexเป็นสิ่งที่ทำได้เพียงครั้งเดียว (ทำเมื่อมีการใช้ดัชนีใหม่) ซึ่งในกรณีนี้ Mongoose autoIndexควรเป็น no-op ภายใต้การรีสตาร์ทเซิร์ฟเวอร์ปกติ

17
วิธีการนำการเชื่อมต่อกับ Mongodb กลับมาใช้ใหม่อย่างถูกต้องผ่านแอปพลิเคชันและโมดูล NodeJs
ฉันอ่านและอ่านและยังสับสนว่าวิธีใดดีที่สุดในการแชร์การเชื่อมต่อฐานข้อมูลเดียวกัน (MongoDb) ในแอป NodeJs ทั้งหมด ตามที่ฉันเข้าใจควรเปิดการเชื่อมต่อเมื่อแอปเริ่มต้นและใช้ซ้ำระหว่างโมดูล แนวคิดปัจจุบันของฉันเกี่ยวกับวิธีที่ดีที่สุดคือserver.js(ไฟล์หลักที่ทุกอย่างเริ่มต้น) เชื่อมต่อกับฐานข้อมูลและสร้างตัวแปรออบเจ็กต์ที่ส่งผ่านไปยังโมดูล เมื่อเชื่อมต่อแล้วตัวแปรนี้จะถูกใช้โดยรหัสโมดูลตามความจำเป็นและการเชื่อมต่อนี้ยังคงเปิดอยู่ เช่น: var MongoClient = require('mongodb').MongoClient; var mongo = {}; // this is passed to modules and code MongoClient.connect("mongodb://localhost:27017/marankings", function(err, db) { if (!err) { console.log("We are connected"); // these tables will be passed to modules as part of mongo object mongo.dbUsers …

6
รวมฟิลด์ที่มีอยู่ทั้งหมดและเพิ่มฟิลด์ใหม่ลงในเอกสาร
ฉันต้องการกำหนดขั้นตอนการรวมโครงการ $ ซึ่งฉันสามารถสั่งให้เพิ่มฟิลด์ใหม่และรวมฟิลด์ที่มีอยู่ทั้งหมดโดยไม่ต้องแสดงรายการฟิลด์ที่มีอยู่ทั้งหมด เอกสารของฉันมีลักษณะดังนี้มีหลายช่อง: { obj: { obj_field1: "hi", obj_field2: "hi2" }, field1: "a", field2: "b", ... field26: "z" } ฉันต้องการทำการรวมแบบนี้: [ { $project: { custom_field: "$obj.obj_field1", //the next part is that I don't want to do field1: 1, field2: 1, ... field26: 1 } }, ... //group, match, and …

5
พังพอนและฐานข้อมูลจำนวนมากในโครงการ node.js เดียว
ฉันกำลังทำโปรเจ็กต์ Node.js ที่มีโปรเจ็กต์ย่อย โครงการย่อยหนึ่งโครงการจะมีฐานข้อมูล Mongodb หนึ่งฐานข้อมูลและ Mongoose จะใช้สำหรับการตัดและการสืบค้นฐานข้อมูล แต่ปัญหาคือ พังพอนไม่อนุญาตให้ใช้หลายฐานข้อมูลในอินสแตนซ์พังพอนเดียวเนื่องจากแบบจำลองสร้างจากการเชื่อมต่อเดียว ในการใช้อินสแตนซ์พังพอนหลาย Node.js require()ไม่อนุญาตให้อินสแตนซ์โมดูลหลายอย่างที่มันมีระบบแคชใน ฉันรู้ว่าปิดการใช้งานการแคชโมดูลใน Node.js แต่ฉันคิดว่ามันไม่ใช่ทางออกที่ดีเพราะมันจำเป็นสำหรับพังพอนเท่านั้น ฉันพยายามใช้createConnection()และopenSet()พังพอน แต่มันไม่ใช่วิธีแก้ปัญหา ผมได้พยายามที่จะคัดลอกลึกเช่นพังพอน ( http://blog.imaginea.com/deep-copy-in-javascript/ ) จะผ่านอินสแตนซ์พังพอนใหม่กับโครงการย่อย RangeError: Maximum call stack size exceededแต่ก็ขว้างปา ฉันต้องการทราบว่ามีวิธีใดบ้างที่จะใช้ฐานข้อมูลหลายฐานข้อมูลกับพังพอนหรือวิธีแก้ปัญหาใด ๆ สำหรับปัญหานี้ เพราะฉันคิดว่าพังพอนค่อนข้างง่ายและรวดเร็ว หรือโมดูลอื่น ๆ ตามคำแนะนำ?

6
เอกสารย่อยพังพอนเทียบกับสคีมาที่ซ้อนกัน
ฉันอยากรู้ข้อดีข้อเสียของการใช้เอกสารย่อยเทียบกับเลเยอร์ที่ลึกกว่าในสคีมาหลักของฉัน: var subDoc = new Schema({ name: String }); var mainDoc = new Schema({ names: [subDoc] }); หรือ var mainDoc = new Schema({ names: [{ name: String }] }); ขณะนี้ฉันใช้เอกสารย่อยทุกที่ แต่ฉันสงสัยเกี่ยวกับประสิทธิภาพหรือปัญหาการสืบค้นที่ฉันอาจพบเป็นหลัก

21
ข้อผิดพลาดของพังพอน Cast to ObjectId ล้มเหลวสำหรับค่า XXX ที่พา ธ “ _id” คืออะไร
เมื่อส่งคำขอไป/customers/41224d776a326fb40f000001และเอกสารที่มี_id 41224d776a326fb40f000001ไม่ได้อยู่docเป็นnullและฉันกลับ404: Controller.prototype.show = function(id, res) { this.model.findById(id, function(err, doc) { if (err) { throw err; } if (!doc) { res.send(404); } return res.send(doc); }); }; อย่างไรก็ตามเมื่อ_idใดที่ไม่ตรงกับสิ่งที่ Mongoose คาดหวังว่าเป็น "รูปแบบ" (ฉันคิดว่า) เช่นมีGET /customers/fooข้อผิดพลาดแปลก ๆ จะส่งคืน: CastError: Cast to ObjectId ล้มเหลวสำหรับค่า "foo" ที่พา ธ "_id" แล้วข้อผิดพลาดนี้คืออะไร?
122 mongodb  mongoose 

7
ข้อผิดพลาด mongorestore: ไม่ทราบว่าจะทำอย่างไรกับไฟล์ดัมพ์ [ปิด]
ปิด. คำถามนี้ต้องการรายละเอียดการแก้จุดบกพร่อง ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันมี Mongo DB c:\mongodb\binติดตั้งในเส้นทางต่อไปนี้ ฉันได้กำหนดค่า PATH ตัวแปรสภาพแวดล้อมของฉันในการตั้งค่าขั้นสูงฉันยังใช้ mongod อยู่เมื่อฉันรันคำสั่งmongorestore ดัมพ์คำสั่งต่อไปนี้จากพา ธ ต่อไปนี้c:\hw1-1\dump(ซึ่งมีไฟล์ BSON) ฉันได้รับข้อผิดพลาดนี้: ไม่ทราบว่าจะทำอย่างไรกับไฟล์ดัมพ์ ฉันได้อ้างถึงชุดข้อความนี้เพื่อตรวจสอบเส้นทางของฉัน

8
mongodb อยู่ตรงไหนในทฤษฎีบท CAP?
ทุกที่ที่ฉันมองฉันเห็นว่า MongoDB คือ CP แต่เมื่อฉันขุดลงไปฉันเห็นว่ามันสอดคล้องกันในที่สุด CP เมื่อคุณใช้ปลอดภัย = จริงหรือไม่? ถ้าเป็นเช่นนั้นหมายความว่าเมื่อฉันเขียนด้วย safe = true แบบจำลองทั้งหมดจะได้รับการอัปเดตก่อนที่จะได้รับผลลัพธ์หรือไม่

7
พังพอนเลือกช่องเฉพาะด้วยการค้นหา
ฉันพยายามเลือกเฉพาะฟิลด์ที่เฉพาะเจาะจงด้วย exports.someValue = function(req, res, next) { //query with mongoose var query = dbSchemas.SomeValue.find({}).select('name'); query.exec(function (err, someValue) { if (err) return next(err); res.send(someValue); }); }; แต่ในการตอบกลับ json ของฉันฉันได้รับ _id สคีมาเอกสารของฉันมีเพียงสอง fiels _id และชื่อ [{"_id":70672,"name":"SOME VALUE 1"},{"_id":71327,"name":"SOME VALUE 2"}] ทำไม???

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