الاستعلامات المنطقية المتداخلة مع MongoDB Go Driver
غالبًا ما تتطلب استعلامات MongoDB استخدام عوامل التشغيل المنطقية المتداخلة (AND/OR) لتصفية المستندات بناءً على على معايير متعددة. في برنامج تشغيل Go MongoDB، يمكن إنشاء استعلامات منطقية متداخلة باستخدام النوعين bson.D وbson.M.
إنشاء استعلامات OR/AND متداخلة
لإنشاء استعلام OR/AND المتداخل، تحتاج إلى استخدام النوع bson.D لتمثيل العامل المنطقي الخارجي (على سبيل المثال، $and) وتمرير عناصر bson.E إليه. يمثل كل عنصر bson.E زوجًا من قيمة الحقل، حيث يمكن أن يكون اسم الحقل هو العامل المنطقي (على سبيل المثال، $or) ويمكن أن تكون القيمة bson.D أو bson.A (للصفائف).
مثال على استعلام OR/AND المتداخل
ضع في اعتبارك استعلام MongoDB:{ "$و": { "ع": 10، "$أو": { "ق": 30، "أ": 1 } }{ "$and": { "p": 10, "$or": { "s": 30, "a": 1 } } }لتمثيل هذا الاستعلام في Go باستخدام برنامج تشغيل MongoDB، يمكنك استخدام الكود التالي:filter := bson.D{ {"ع"، 10}، {"$أو"، بسون.A{ بسون.د{{"s"، 30}}، بسون.د{{"أ"، 1}}، }},
{ "$and": { "p": 10, "$or": { "s": 30, "a": 1 } } }في هذا المثال، يمثل bson.D عامل التشغيل $and الخارجي، ويمثل bson.A عامل التشغيل $or المتداخل. يمثل كل bson.D ضمن $or استعلامًا فرعيًا.
استخدام bson.M للاستعلامات المتداخلة
يمكنك أيضًا استخدام النوع bson.M لتمثيل الاستعلامات المتداخلة. bson.M عبارة عن واجهة Map[string]interface{} يمكن أن تحتوي على أسماء الحقول والقيم المقابلة لها. يمكن أن تكون القيمة مثيل bson.M آخر، يمثل استعلامًا متداخلاً.على سبيل المثال، يمكن تمثيل الاستعلام أعلاه باستخدام bson.M كما يلي:filter := bson.M{ "ع": 10، "$أو": بسون.أ{ بسون.M{"s": 30}، بسون.م {"أ": 1}، },{ "$and": { "p": 10, "$or": { "s": 30, "a": 1 } } }
التوصيات
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3