اذهب إلى المحتوى

Tamim Fahed

الأعضاء
  • المساهمات

    124
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    1

أجوبة بواسطة Tamim Fahed

  1. لقد قمت سابقاً بتشغيل الخادم node.js على جهازي من خلال محرر الأكواد على منفذ معيّن. والآن أحاول التشغيل من جديد ويظهر لي الخطأ التالي:

    events.js:71
        throw arguments[1];
                       ^
    Error: listen EADDRINUSE
        at errnoException (net.js:770:11)
        at HTTPServer.Server._listen2 (net.js:910:14)
        at listen (net.js:937:10)
        at HTTPServer.Server.listen (net.js:986:5)
        at Object.<anonymous> (C:\xampp\htdocs\node\chat\app.js:5:5)
        at Module._compile (module.js:449:26)
        at Object.Module._extensions..js (module.js:467:10)
        at Module.load (module.js:356:32)
        at Function.Module._load (module.js:312:12)
        at Module.runMain (module.js:492:10)

    كيف يمكنني التأكد مما إذا كان هنالك أي عملية تابعة ل node.js قيد التشغيل وما هو المنفذ الذي تعمل عليه؟ وأيضاً كيف يمكنني إنهاء هذه العمليات التي تشغل هذه المنافذ في ويندوز؟

    • أعجبني 2
  2. لدي مجموعة من المستندات ضمن قاعدة بيانات mongodb وأحاول الحصول عليها من خلال استخدام pymongo في بايثون:

    for cursor in collection.find({ "$and" : [{ "users" : { "$gt" : 2000 } }, { "users" : { "$lt" : 3000 } }, { "is_like" : { "$exists" : False } }] }): 
        print cursor['username']
        print cursor['_id']['user_id']
        id = cursor['_id']['user_id']

    ولكن بدأ يظهر لي الخطأ التالي:

    pymongo.errors.CursorNotFound: cursor id '...' not valid at server.

    لماذا أصبح يظهر لي هذا الخطأ؟ وكيف يمكنني حل المشكلة؟

    • أعجبني 2
  3. لقد قمت بتحميل mongodb على نظام افتراضي (VM) Ubuntu من جهازي الذي يعمل على windows 7.

    ولكن عندما أقوم بتشغيل الأمر التالي:

    sudo service mongod start

    يظهر هذا الخطأ:

    2015-04-23T00:12:00.876-0400 I CONTROL ***** SERVER RESTARTED ***** 2015-04-23T00:12:00.931-0400 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock errno:1 Operation not permitted 2015-04-23T00:12:00.931-0400 I - [initandlisten] Fatal Assertion 28578 2015-04-23T00:12:00.931-0400 I - [initandlisten] 

    ويشير إلى الملف: mongodb-27017.sock

    كيف أستطيع حل المشكلة؟

    • أعجبني 1
  4. بعد أن قمت بتحميل mongodb على جهازي وقمت بإجراء الامر mongod ظهر لدي الخطأ التالي:

    
    2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten] MongoDB starting : pid=5189 port=27017 dbpath=/data/db 64-bit host=mypc.local
    2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten] db version v3.6.0
    2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten] git version: a57d8e71e6998a2d0afde7edc11bd23e5661c915
    2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.2n  7 Dec 2017
    2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten] allocator: system
    2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten] modules: none
    2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten] build environment:
    2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten]     distarch: x86_64
    2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten]     target_arch: x86_64
    2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten] options: {}
    2017-12-26T15:31:15.911+0700 E STORAGE  [initandlisten] Failed to set up listener: SocketException: Address already in use
    2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten] now exiting
    2017-12-26T15:31:15.911+0700 I CONTROL  [initandlisten] shutting down with code:48

    كيف يمكنني حل هذه المشكلة؟

    • أعجبني 2
  5. لقد قمت بإنشاء مشروع جديد وقمت بتهيئة npm ضمن مجلّد المشروع. لكن يوجد طريقة تمكنني من تغيير مسار تحميل المكتبات والإضافات التي سأقوم بتحميلها في المشروع؟

    فبشكل افتراضي سيتم إنشاء المجلّد node_modules ضمن المجلّد نفسه، ولكن كيف يمكنني تغيير مكان التحميل إلى مجلّد آخر ضمن المشروع؟

    • أعجبني 1
  6. أقوم باستخدام mongoose للتعامل مع mongodb في مشروعي، ولكن لاحظت أنه يتم إضافة الحقل الفريد إلى المستندات بشكل تلقائي وهو id_. ولكن قيمة طويلة وهي سلسلة من أحرف وأرقام.

    كيف يمكنني إنشاء حقل فريد آخر عبارة عن أرقام فقط بحيث يبقى هذا الحقل فريد لكافة المستندات كما هو الحال في mySql؟

    هل يوجد طريقة مثلى لتحقيق ذلك دون استخدام مكاتب خارجية أو التأثير على الأداء عند كل عملية إضافة على المجموعة؟

    • أعجبني 1
  7. لدي مشكلة في npm بحيث عندما أحاول تحميل أي مكتبة كبيئة تطوير بتنفيذ الأمر:

    npm install something --dev

    يتم تجاهل --dev ولا يتم تحميلها ضمن devDependencies.

    وحتى الأمر npm install أيضاً لا يقوم بتحميل أي مكاتب dev. كيف يمكنني حل هذه المشكلة؟

    • أعجبني 1
  8. أحاول الحصول على المجلّدات الموجودة ضمن مجلّد معين في node.js ، وحاولت استخدام path للحصول على مسار المجلّد:

    path.dirname(__filename)

    لكن حصلت فقط على مسار المجلّد الحالي، كيف يمكنني الوصول وطباعة اسماء جميع المجلّدات الموجودة ضمن هذا المجلّد؟

    • أعجبني 1
  9. لدي مشروع كبير الحجم فيه عدد كبير أيضاً من المكتبات التي تم تضمينها. هل يوجد طريقة ما لإزالة المكتبات التي لا يتم استعمالها ضمن المشروع؟ أي بشكل أن يتم فقط حذف المكتبة التي ليس لها أي تضمين أو استخدام ضمن ملفات المشروع.

     

    • أعجبني 2
  10. لدي مجموعة من المستندات تحوي حقل معرّف ObjectID بنمط سلسلة نصيّة بدلاً من النمط Object ID المستخدم في mongodb.

    {
    	....
    	newID: "f9e1fa551137c2c572808a5f"
    }

    هل يوجد طريقة معيّنة استطيع من خلالها أثناء عملية المقارنة التأكد من أن هذه السلسلة النصية (أي الحقل newID) هي ID صالح في mongoDB وبالتالي تحويله إلى ObjectID ؟

    • أعجبني 2
  11. يظهر لي التحذير التالي في mongodb على نظام التشغيل linux:

    2015-03-06T21:01:15.526-0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
    2015-03-06T21:01:15.526-0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'

    مامعنى هذا التحذير؟ وكيف يمكنني حل هذه المشكلة؟

    • أعجبني 2
  12. لقد قمت بإنشاء عدة قواعد بيانات للتجربة، ولكن هل هنالك أمر معيّن لحذف جميع قواعد البيانات الموجودة ؟ دون الحاجة لذكر جميع اسماء قواعد البيانات.

    من خلال التوثيق الرسمي لاحظت فقط وجود حذف قاعدة بيانات واحدة.

    • أعجبني 2
  13. لدي قاعدة بيانات mongodb وأقوم باستخدام mogoose مع node.js، وقمت مسبقاً بوضع schema معيّنة لكل مجموعة ضمن هذه القاعدة.

    ولكن بما تتيحه mogodb من حرية في تعديل بنية هذه المجموعات، أرى أن mongoose يفرض استخدام  schema وأي حقول يتم إضافتها وهي غير موجودة مسبقاً ضمن هذه الـ schema لا يتم حفظها ضمن قاعدة البيانات.

    كيف يمكنني إضافة حقول جديدة ليس بالضرورة أن تكون موجودة ضمن الـ schema؟ أم هل يجب علي تجنّب استخدام mongoose في هذه الحالة؟

    • أعجبني 1
  14. لدي عدد كبير من المسنتدات بالشكل التالي:

    {
    	username: "Bolk777",
    	email: "test@test.com",
    	"phone": "44857579493",
    	....
    }

    وقد قمت بتعريف الحقل phone على أنه من النوع String، ولكن أريد تغيير نوع الحقل إلى Number. فهل هنالك طريقة ما لتغيير قيمة الحقل للمستندات الموجودة لدي مسبقاً ضمن المجموعة دون أن تتأثر البيانات التي بداخلها؟ وكيف يمكنني إجراء ذلك؟

    • أعجبني 1
  15. هل من الممكن تخزين الصور أو حتى الفيديو كما هي في قاعدة البيانات بدلاً من فقط تخزين مسار وجودها على الخادم؟ لقد لاحظت أن المستندات في mongodb لها سعة تخزين محددة، ولكن أرغب بتخزين بعض الصور ضمن قاعدة البيانات. فهل يجب أن أقوم بتقسم الملفات على أكثر من مستند بهذه الحالة؟ وماهي الطريقة لتخزين هكذا ملفات في mongodb؟ 

    • أعجبني 1
  16. لدي مستندات فيها تاريخ معيّن بالشكل التالي:

    {
        "username" : "test123",
        "subDate" : ISODate("2020-10-01T00:00:00.000Z"),
        "phone" : 112334556
    }

    وأقوم بإجراء الاستعلام التالي:

    find({
      "subDate" : { "$gte" : { "$date" : "2020-10-01T00:00:00.000Z"}}
    })

    ولكن لا يتم إعادة أي مستند، ما الخطأ هنا وكيف يمكنني إجراء هذا الاستعلام حسب التاريخ؟

    • أعجبني 1
  17. احاول مقارنة عدد من المستندات من خلال الرقم الفريد لها _id . ولكن النتيجة دوماً تظهر بشكل false أو لا يوجد تطابق، حتى ولو كان الحقل له نفس القيمة:

    if (userId == custom._id) {
        // لا يتم الدخول أبداً إلى محتوى الشرط
    }

    مع أن القيم هي نفسها عندما أقوم بطباعتها:

    userId: 49bb74fc678713bf6a00456
    custom._id: 49bb74fc678713bf6a00456

    كيف يمكنني حل هذه المشكلة؟

    • أعجبني 1
  18. هل يوجد أمر معيّن أو طريقة لنسخ أو نقل المجموعة collection من قاعدة بيانات إلى أخرى؟ علماً بأن القاعدتين موجودتين على نفس الخادم.

    لقد قرأت في التوثيق الرسمي ولم ألاحظ ماهي آلية تحقيق ذلك.

    • أعجبني 1
  19. لدي مستندات تحوي قيم للتاريخ ومنها القيم الافتراضية timestamps مثل حقلي created_at و updated_at بالإضافة إلى حقول أخرى تمت إضافتها إلى المستند.

    ولكن المشكلة أنه يتم حفظ التوقيت بشكل متخلف في قاعدة البيانات عن توقيت جهازي، فهو دوماً يسبق التوقيت ببضع ساعات. وحتى عندما أقوم بالرفع على خادم الويب، يتخلف هذا التوقيت أيضاً عند إضافة مستندات جديدة.

    كيف يقوم mongoose باختيار التوقيت؟ وهل هنالك طريقة معيّنة للتعامل مع التوقيت حتى تكون موحّدة لكل المستخدمين بغض النظر عن اختلاف تواقيتهم أو المكان الذي يتواجدون به؟

    • أعجبني 1
  20. لقد قمت بإزالة نسخة node.js من جهازي بنظام ويندوز، ثم قمت بتحميل النسخة الأخيرة من node.js من الموقع الرسمي، ولكن عندما أقوم بالتأكد من النسخة من خلال الأمر التالي:

    node --version

    يظهر لي رقم النسخة السابقة والتي قمت بإزالتها وتحديثها، ولا يتم طباعة رقم النسخة الجديدة بدلاً منها.

    ماهي الطريقة الصحيحة لإزالة النسخة القديمة نهائياً من النظام وتحديثها؟

    • أعجبني 1
  21. لدي مشروع قديم على خادم الويب Ubuntu. ولكن عندما أحاول تحميل أي مكتبة ضمن npm يظهر لدي الخطأ التالي:

    npm ERR! Error: SSL Error: SELF_SIGNED_CERT_IN_CHAIN
    npm ERR!     at ClientRequest.<anonymous> (/usr/lib/node_modules/npm/node_modules/request/main.js:252:28)
    npm ERR!     at ClientRequest.emit (events.js:67:17)
    npm ERR!     at HTTPParser.onIncoming (http.js:1261:11)
    npm ERR!     at HTTPParser.onHeadersComplete (http.js:102:31)
    npm ERR!     at CleartextStream.ondata (http.js:1150:24)
    npm ERR!     at CleartextStream._push (tls.js:375:27)
    npm ERR!     at SecurePair.cycle (tls.js:734:20)
    npm ERR!     at EncryptedStream.write (tls.js:130:13)
    npm ERR!     at Socket.ondata (stream.js:38:26)
    npm ERR!     at Socket.emit (events.js:67:17)
    npm ERR! Report this *entire* log at:
    npm ERR!     <http://github.com/isaacs/npm/issues>
    npm ERR! or email it to:
    npm ERR!     <npm-@googlegroups.com>
    npm ERR! 
    npm ERR! System Linux 2.6.38-13-generic
    npm ERR! command "node" "/usr/bin/npm" "install" "jed"
    npm ERR! node -v v0.6.12
    npm ERR! npm -v 1.0.104

    كيف يمكنني حل هذه المشكلة؟

  22. لقد قمت بتحميل المكتبة dotenv وتضمينها ضمن مشروع node.js كالتالي:

    require('dotenv').config()

     وقمت بإنشاء الصفحة .env ووضعت بداخلها بعض المتغيرات، مثال:

    PORT=4000
    EMAIL=test@test.com

    وأقوم باستخدام nodemon ضمن بيئة التطوير و pm2 على الخادم.

    ولكن كيف يمكنني التحكّم بقيم هذه المتغيرات بحيث يتم استخدام قيم محددة في بيئة التطوير development وقيم أخرى عندما أقوم بمحاكاة تشغيل المشروع على الخادم؟

    • أعجبني 1
  23. لدي مشروع مبني ضمن node.js، ولكن لدي أيضاً بعض الصفحات المبنية بلغة PHP ضمن نفس المشروع. وخادم الويب لدي هو apache.

    ولكن كيف يمكنني الدمج بين node.js و PHP؟ هل يمكن تشغيل صفحات PHP من خلال node.js؟ أو هنالك طريقة أخرى لتحقيق ذلك؟

  24. أحاول الاتصال بخادم خارجي يحوي قاعدة البيانات mongodb، وبما أن الاتصال سيكون على الشكل التالي:

    mongodb://username:password@host:port/database

    لقد قمت بإضافة اسم المستخدم، ولكن المشكلة بأن كلمة المرور تحوي الإشارة @ أيضاً. وعندما قمت بإضافة @ ضمن كلمة المرور ظهر لي عدة أخطاء بسبب ذلك.

    كيف يمكنني وضع كلمة المرور التي تحوي محارف وإشارات ومنها @ ضمن الاتصال؟

×
×
  • أضف...