سؤال

قررنا استخدام MongoDB لبعض تطبيق الويب (بدلا من MySQL) ولكنك ترغب في البقاء مع أبو الهول لفهرسة / البحث عن جميع البيانات المخزنة في MongoDB. نظرا لأن معرف كائن MongoDB هو التجزئة مقابل الافتراضي - ونريد البقاء مع هذا - الآن هناك مشكلة واحدة في استخدام أبو الهول. كما يقول في وثائق أبو الهول:

يجب أن تكون جميع معرفات المستندات فريدة من نوعها عددا صحيحا غير صفرية غير موقعة (32 بت أو 64 بت، اعتمادا على إعدادات وقت الإنشاء).

هكذا ... ما هي أفضل طريقة لحل هذه المشكلة ... كيف يمكننا تعيين معرف كائن MongoDB لعدد صحيح غير صفر (والظهر)؟

تحديث

يعد إجابة Casey الاتجاه الصحيح للنظر فيه، ولكن عنده تشغيل سمات السلسلة موجودة في إصدار Dev الحاليين فقط متاح فقط ل SQL DataSource. ل XMLPIPE فمن الضروري تطبيق التصحيح على مصدر الخروج. يمكن العثور على مزيد من المعلومات حول هذا في منتدى أبو الهول.

هل كانت مفيدة؟

المحلول

لا يمكنك استخدام معرف الكائن كمعرف مستند SPHINX - معرفات كائن Mongodb أكبر من الحد الأقصى لحجم معرفات المستندات SPHINX.

بدلا من ذلك، يمكنك زيادة معرف فريد أثناء إنشاء XML الذي سيعالجه SPHINX (أفترض أنك تستخدم XMLPIPE للحصول على بيانات Mongo الخاصة بك في أبو الهول؟) وتخزين معرف كائن MongoDB كسمية سلسلة في Sphinx.

ستحتاج إلى أحدث إصدار تطوير SPHINX للقيام بذلك - انظر إجابتي على هذا السؤال للحصول على مزيد من التفاصيل: أبو الهول دون استخدام معرف auto_incrent

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top