Mongoose: مشكلة في DBRefs - تنفيذ خاطئ؟

تم إنشاؤها على ٢٨ يناير ٢٠١٤  ·  3تعليقات  ·  مصدر: Automattic/mongoose

أهلا،

لدي مشكلة في فهم شيء ما أو أنه تم التنصت عليه.

لنبدأ. هنا وثائق حول DBRefs:
http://docs.mongodb.org/manual/reference/database-references/#dbrefs

يكتبون أن هيكل الوثيقة مع الإشارة يجب أن يكون:

{
  "_id" : ObjectId("5126bbf64aed4daf9e2ab771"),
  // .. application fields
  "creator" : {
                  "$ref" : "creators",
                  "$id" : ObjectId("5126bc054aed4daf9e2ab772"),
                  "$db" : "users"
               }
}

الآن دعنا نلقي نظرة على هذا المثال (مثال 1):
https://gist.github.com/hastebrot/1170907

عندما أقوم بتشغيل هذا الرمز ، يكون لدي شيء من هذا القبيل:
قصة:

    "title": "A man who cooked Nintendo",
    "_creator": {
        "$oid": "52e7dcea3d9cd59c13702e3d"
    },
    "_id": {
        "$oid": "52e7dceb3d9cd59c13702e3e"
    },
    "fans": [],
    "__v": 0

الناس:

    "name": "Aaron",
    "age": 100,
    "_id": {
        "$oid": "52e7dcea3d9cd59c13702e3d"
    },
    "stories": [],
    "__v": 0

المشكلة

في فريقنا ، لدينا تطبيق صغير مكتوب بلغة Java يستخدم مكتبة لـ MongoDB ولكن هذه المكتبة تحفظ البيانات كما هو الحال في وثائق MongoDB:

....//other fields
"user": {
        "$ref": "users",
        "$id": {
            "$oid": "52c6c497c08e6fcf37000001"
        }
    }

ولا يمكنني تعبئة البيانات لأنها تبدو وكأنها تعمل فقط من أجل تطبيق النمس.

صححني إذا كنت مخطئًا ولكن بالنسبة لي يبدو الأمر كما لو كنت لا تحفظ DBRef كما هو موصوف في الوثائق.

new feature

التعليق الأكثر فائدة

ما زلت لا مدخلات من أي مطور النمس حول هذه المسألة؟ هذه مشكلة متكررة تستمر في الظهور عندما يكون لديك أكثر من سائق واحد يكتب ويقرأ من نفس قاعدة البيانات.

يدعم برنامج تشغيل العقدة DBRefs وأجد أنه من الغريب أن Mongoose لا يزال لا يدعمه.

ال 3 كومينتر

+1
تواجه نفس المشكلة مع تطبيق php باستخدام عقيدة mongodb odm. حاليًا لا يمكنني استخدام db الموجود بالفعل مع النمس لأن كائنات mongodb DBRefs لا تُستخدم لتخزين المراجع.
ربما يجب إضافة نوع مخطط آخر (Schema.DBRef؟)؟
سيؤدي ذلك إلى تحميل المستند بالمعلومات المحددة.

ما زلت لا مدخلات من أي مطور النمس حول هذه المسألة؟ هذه مشكلة متكررة تستمر في الظهور عندما يكون لديك أكثر من سائق واحد يكتب ويقرأ من نفس قاعدة البيانات.

يدعم برنامج تشغيل العقدة DBRefs وأجد أنه من الغريب أن Mongoose لا يزال لا يدعمه.

دعم DBRefs للتعبئة ليس حقًا أولوية عالية لأن مستندات MongoDB توصي بعدم استخدام dbref . يمكنك دائمًا إجراء الاستفسارات بنفسك.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات