بعض مفاهيم mongodb
فيما يلي مقارنة بين Mongodb و MySQL
mysqlmongodb
قاعدة البيانات (قاعدة البيانات) DB (قاعدة البيانات)
الجدول (الجدول) مجموعة (مجموعة)
وثيقة الصف
حقل العمود (العمود) (حقل)
المفتاح الأساسي (حدد المفتاح الأساسي) "_id": ObjectID ("******") يقوم تلقائيًا بإنشاء مفتاح أساسي مدمج
نموذج بيانات MySQL كما يلي
تشبه نفس البيانات أزواج قيمة JSON الرئيسية في Mongodb ، والتي تسمى BSON ، على النحو التالي
Crud of Mongodb
بعد نجاح التثبيت في Windows ، استخدم الأمر Mongod لبدء الخدمة واستخدام أمر Mongo للاتصال بمكتبة الاختبار افتراضيًا.
1. إنشاء مجموعة
إنشاء مجموعة مستخدم: db.createcollection ("المستخدم") // لا حاجة لتحديد الحقول
2. أدخل السجل مع الاسم = wangxu ، العمر = 27: db.user.insert ({"name": "wangxu" ، "Age": 27})
3. الاستعلام عن جميع الاستعلامات: db.user.find ()
استعلام سجل الاسم = wangxu: db.user.find ({"name": "wangxu"})
4. قم بتحديث عمر السجل = wangxu إلى 30: db.user.update ({name: "wangxu"} ، {"$ set": {"Age": 30}})
5. حذف السجل مع name = wangxu: db.user.remove ({"name": "wangxu"})
حذف الكل: db.user.remove ()
6. حذف المجموعة وحذف مجموعة المستخدم: db.user.drop ()
جافا يدعو mongodb
بعد تقديم حزمة برنامج تشغيل Java من MongoDB ، يكون رمز الاختبار كما يلي:
package com.wx.test ؛ import java.util.arraylist ؛ import java.util.list ؛ import org.bson.document ؛ import com.mongodb.mongoclient ؛ import com.mongodb.client.findisterable ؛ import com.mongodb.client.mongocollection ؛ import com com.mongodb.client.mongodatabase ؛ استيراد com.mongodb.client.model.filters ؛/** * اختبار نقاط اختبار mongodb: إضافة ، الاستعلام ، التحديث ، حذف * * * uithor wangxu * @dont 2016-3-27 */public class testmongod {public static void main ( اسم المستخدم وكلمة المرور افتراضيًا mongoclient mongoclient = new mongoclient ("LocalHost" ، 27017) ؛ // الحصول على مكتبة الاختبار mongodatabase db = mongoclient.getDatabase ("test") ؛ // إنشاء مجموعة db.createCollection ("المستخدم") ؛ // الحصول على مجموعة mongocollection collection = db.getCollection ("user") ؛ // إدراج مستند (دعم خطوط متعددة) مستند مستند = مستند جديد ("الاسم" ، "Wangxu"). إلحاق ("Age" ، "27") ؛ مستند المستند 2 = مستند جديد ("الاسم" ، "Wangxu_Java"). إلحاق ("Age" ، "27") ؛ قائمة <Convice> المستندات = جديد ArrayList <> () ؛ documents.add (وثيقة) ؛ documents.add (document2) ؛ collection.insertmany (وثائق) ؛ // تحديث عمر Wangxu إلى 30 collection.updatemany (filters.eq ("name" ، "wangxu") ، وثيقة جديدة ("$ set" ، وثيقة جديدة ("العمر" ، 30)) (mongocursor.hasnext () {document doc = mongocursor.next () ؛سؤال حول حزمة سائق Java
mongoclient mongoclient = new mongoclient ("المجال غير موجود" ، 27017) ؛ // إنشاء اتصالعندما قمت بحفظ الكود أعلاه ، وجدت أنه لا توجد حاجة للتعامل مع الاستثناءات. في البداية ، اعتقدت أن الاستثناء تم تصميمه على أنه "استثناءات غير محسوبة" وسيتم إلقاؤها عند الجري. أخيرًا ، وجد الاختبار أنه لن يتم إلقاء استثناءات على الإطلاق. سيتم طرح الاستثناءات خلال عمليات CRUD اللاحقة ، لكنها كانت جميع الاستثناءات غير المحسوبة تقريبًا. أنا شخصياً أشعر أن هذا التصميم غير متوافق بعض الشيء مع آلية تصنيف الاستثناء في جافا؟