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

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

9
คุณจะเปลี่ยนชื่อฐานข้อมูล MongoDB ได้อย่างไร
มีการพิมพ์ผิดในชื่อฐานข้อมูล MongoDB ของฉันและฉันต้องการเปลี่ยนชื่อฐานข้อมูล ฉันสามารถคัดลอกและลบเช่นนี้ ... db.copyDatabase('old_name', 'new_name'); use old_name db.dropDatabase(); มีคำสั่งให้เปลี่ยนชื่อฐานข้อมูลหรือไม่?
483 mongodb  database 

23
Mongod บ่นว่าไม่มีโฟลเดอร์ / data / db
ฉันใช้แม็คเครื่องใหม่เป็นครั้งแรกในวันนี้ ฉันทำตามคำแนะนำการเริ่มต้นใช้งานบน mongodb.org จนถึงขั้นตอนที่สร้างไดเรกทอรี / data / db btw ฉันใช้เส้นทาง homebrew ดังนั้นฉันจึงเปิดเทอร์มินัลและฉันคิดว่าฉันเป็นสิ่งที่คุณเรียกว่า Home Directory เพราะเมื่อฉัน "ls" ฉันเห็นโฟลเดอร์ของ Desktop Application ภาพยนตร์เพลงรูปภาพเอกสารและห้องสมุด ดังนั้นฉันจึงทำ mkdir -p /data/db ก่อนจะกล่าวว่าได้รับอนุญาตถูกปฏิเสธ ฉันพยายามทำสิ่งต่าง ๆ เป็นเวลาครึ่งชั่วโมงและในที่สุด mkdir -p data/db ทำงาน และเมื่อฉัน "ls" ไดเรกทอรีของข้อมูลและซ้อนในนั้นจะมีโฟลเดอร์ db อยู่ จากนั้นฉันก็โกรธขึ้นและมันก็บ่นว่าไม่ได้หาข้อมูล / db ฉันทำอะไรผิดหรือเปล่า? ตอนนี้ฉันได้ทำ sudo mkdir -p /data/db และเมื่อฉันทำ "ls" ฉันเห็น data …
474 macos  mongodb 

10
เมื่อถึง Redis เมื่อถึง MongoDB [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ปิดให้บริการใน3 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ สิ่งที่ฉันต้องการไม่ใช่การเปรียบเทียบระหว่าง Redis และ MongoDB ฉันรู้ว่ามันแตกต่างกัน ประสิทธิภาพและ API แตกต่างอย่างสิ้นเชิง Redis นั้นเร็วมาก แต่ API นั้น 'atomic' มาก MongoDB จะกินทรัพยากรมากขึ้น แต่ API นั้นใช้งานง่ายมากและฉันมีความสุขมาก พวกมันทั้งยอดเยี่ยมและฉันต้องการใช้ Redis ในการปรับใช้ให้มากที่สุด แต่มันยากที่จะเขียนโค้ด ฉันต้องการใช้ MongoDB ในการพัฒนามากที่สุดเท่าที่จะทำได้ แต่ต้องใช้เครื่องราคาแพง แล้วคุณคิดอย่างไรเกี่ยวกับการใช้ทั้งสองอย่าง เมื่อใดที่จะเลือก Redis เมื่อใดที่จะเลือก MongoDB

17
ลบทุกอย่างในฐานข้อมูล MongoDB
ฉันกำลังพัฒนา MongoDB เพื่อจุดประสงค์ที่ไม่ใช่ความชั่วโดยสิ้นเชิงบางครั้งฉันต้องการที่จะระเบิดทุกสิ่งในฐานข้อมูล - นั่นคือเพื่อลบคอลเลกชันทั้งหมดและสิ่งอื่นใดที่อาจวางอยู่รอบ ๆ และเริ่มต้นจากศูนย์ มีรหัสบรรทัดเดียวที่จะให้ฉันทำเช่นนี้? คะแนนโบนัสสำหรับการให้ทั้งวิธีคอนโซล MongoDB และวิธีการไดรเวอร์ MongoDB Ruby
454 mongodb 

10
ตรวจสอบว่าเขตข้อมูลมีสตริง
ฉันกำลังมองหาผู้ดำเนินการซึ่งช่วยให้ฉันตรวจสอบว่าค่าของเขตข้อมูลมีสตริงที่แน่นอน สิ่งที่ต้องการ: db.users.findOne({$contains:{"username":"son"}}) เป็นไปได้ไหม
454 mongodb 


14
ค้นหาวัตถุระหว่างสองวัน MongoDB
ฉันได้เล่นรอบเก็บทวีตภายใน MongoDB แต่ละวัตถุมีลักษณะเช่นนี้: { "_id" : ObjectId("4c02c58de500fe1be1000005"), "contributors" : null, "text" : "Hello world", "user" : { "following" : null, "followers_count" : 5, "utc_offset" : null, "location" : "", "profile_text_color" : "000000", "friends_count" : 11, "profile_link_color" : "0000ff", "verified" : false, "protected" : false, "url" : null, "contributors_enabled" : false, …

22
วิธีรันคำสั่ง mongo ผ่านเชลล์สคริปต์
ฉันต้องการรันmongoคำสั่งในเชลล์สคริปต์เช่นในสคริปต์test.sh: #!/bin/sh mongo myDbName db.mycollection.findOne() show collections เมื่อฉันรันสคริปต์นี้ผ่าน./test.shดังนั้นการเชื่อมต่อกับ MongoDB จะถูกสร้างขึ้น แต่คำสั่งต่อไปนี้จะไม่ถูกดำเนินการ วิธีรันคำสั่งอื่น ๆ ผ่าน shell script test.sh?
403 mongodb  bash  shell  sh 

14
ดึงเฉพาะองค์ประกอบที่สอบถามในอาร์เรย์วัตถุในคอลเลกชัน MongoDB
สมมติว่าคุณมีเอกสารต่อไปนี้ในคอลเล็กชันของฉัน: { "_id":ObjectId("562e7c594c12942f08fe4192"), "shapes":[ { "shape":"square", "color":"blue" }, { "shape":"circle", "color":"red" } ] }, { "_id":ObjectId("562e7c594c12942f08fe4193"), "shapes":[ { "shape":"square", "color":"black" }, { "shape":"circle", "color":"green" } ] } ทำแบบสอบถาม: db.test.find({"shapes.color": "red"}, {"shapes.color": 1}) หรือ db.test.find({shapes: {"$elemMatch": {color: "red"}}}, {"shapes.color": 1}) ส่งคืนเอกสารที่จับคู่(เอกสาร 1)แต่จะเสมอกับรายการอาร์เรย์ทั้งหมดในshapes: { "shapes": [ {"shape": "square", "color": "blue"}, {"shape": "circle", …

15
วิธีรักษาความปลอดภัย MongoDB ด้วยชื่อผู้ใช้และรหัสผ่าน
ฉันต้องการตั้งค่าการตรวจสอบชื่อผู้ใช้และรหัสผ่านสำหรับอินสแตนซ์ MongoDB ของฉันเพื่อให้การเข้าถึงระยะไกลใด ๆ จะขอชื่อผู้ใช้และรหัสผ่าน ฉันพยายามสอนจากเว็บไซต์ MongoDB และทำตาม: use admin db.addUser('theadmin', '12345'); db.auth('theadmin','12345'); หลังจากนั้นฉันก็ออกมาแล้วก็วิ่งอีกครั้ง และฉันไม่ต้องการรหัสผ่านเพื่อเข้าถึง แม้ว่าฉันจะเชื่อมต่อกับฐานข้อมูลจากระยะไกลฉันยังไม่ได้รับแจ้งชื่อผู้ใช้และรหัสผ่าน UPDATEนี่คือทางออกที่ฉันใช้ 1) At the mongo command line, set the administrator: use admin; db.addUser('admin','123456'); 2) Shutdown the server and exit db.shutdownServer(); exit 3) Restart mongod with --auth $ sudo ./mongodb/bin/mongod --auth --dbpath /mnt/db/ 4) Run …

9
อัปเดตฟิลด์ MongoDB โดยใช้ค่าของฟิลด์อื่น
ใน MongoDB เป็นไปได้หรือไม่ที่จะอัปเดตค่าของฟิลด์โดยใช้ค่าจากฟิลด์อื่น? SQL ที่เทียบเท่าจะมีลักษณะดังนี้: UPDATE Person SET Name = FirstName + ' ' + LastName และหลอกโค้ด MongoDB จะเป็น: db.person.update( {}, { $set : { name : firstName + ' ' + lastName } );

23
ฉันจะอัปเดต / รับเอกสารใน Mongoose ได้อย่างไร
บางทีมันอาจเป็นเวลาที่ฉันอาจจมอยู่กับเอกสารที่กระจัดกระจายและไม่สามารถคลุมหัวแนวคิดการอัปเดตใน Mongoose :) นี่คือข้อตกลง: ฉันมีสคีมาติดต่อและรุ่น (คุณสมบัติที่สั้นลง): var mongoose = require('mongoose'), Schema = mongoose.Schema; var mongooseTypes = require("mongoose-types"), useTimestamps = mongooseTypes.useTimestamps; var ContactSchema = new Schema({ phone: { type: String, index: { unique: true, dropDups: true } }, status: { type: String, lowercase: true, trim: true, default: 'on' } }); ContactSchema.plugin(useTimestamps); …

26
บันทึกแบบสุ่มจาก MongoDB
ฉันกำลังมองหาที่จะได้รับการบันทึกโดยการสุ่มจากขนาดใหญ่ (100 mongodbล้านบันทึก) วิธีที่เร็วและมีประสิทธิภาพที่สุดในการทำคืออะไร? ข้อมูลมีอยู่แล้วและไม่มีฟิลด์ที่ฉันสามารถสร้างตัวเลขสุ่มและรับแถวสุ่ม ข้อเสนอแนะใด ๆ

3
เพิ่มฟิลด์ใหม่ให้กับทุกเอกสารในคอลเลกชัน MongoDB
ฉันจะเพิ่มฟิลด์ใหม่ให้กับเอกสารทั้งหมดในคอลเล็กชันที่มีอยู่ได้อย่างไร ฉันรู้วิธีอัปเดตฟิลด์ของเอกสารที่มีอยู่ แต่ไม่ใช่วิธีเพิ่มฟิลด์ใหม่ให้กับทุกเอกสารในคอลเล็กชัน ฉันจะทำสิ่งนี้ในmongoเปลือกได้อย่างไร
334 mongodb  field  nosql 

21
รับชื่อของคีย์ทั้งหมดในคอลเลกชัน
ฉันต้องการรับชื่อของคีย์ทั้งหมดในคอลเลกชัน MongoDB ตัวอย่างเช่นจากสิ่งนี้: db.things.insert( { type : ['dog', 'cat'] } ); db.things.insert( { egg : ['cat'] } ); db.things.insert( { type : [] } ); db.things.insert( { hello : [] } ); ฉันต้องการรับกุญแจพิเศษ: type, egg, hello

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