MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Eval MongoDB Query с NodeJS

Низът, който представяте, е заявка за обвивка на mongodb. Този низ съдържа специфични типове данни за обвивката на mongodb и като такъв е използваем само в обвивката на mongodb. Не можете да анализирате или оценявате тези заявки в различна (javascript) среда, защото не са валиден JSON. Следователно, eval или JSON.parse дори няма да работи поради специфичните типове данни.

Ако искате да сериализирате mongodb заявки за използване в различни среди, можете да използвате MongoDB Extended JSON.

https://docs.mongodb.org/v3.0/ справка/mongodb-extended-json/

Това е стандартен JSON, който може да съдържа типове данни mongodb. Вашата заявка би искала това в MongoDB разширен JSON.

{
    "_id": {
        "$oid": "536b07935c89be214c000009"
    },
    "date": {
        "$date": "2012-12-19T06:01:17.171Z"
    },
    "mail": {
        "$regex": "test",
        "$options": "i"
    }
}

Ако искате да анализирате или оцените низ като този, за да го предадете на драйвера node.js mongodb, ще трябва да използвате библиотека, за да десериализирате това до правилен обект Node.js MongoDB Driver.

Можете да използвате тази библиотека, за да направите това:
https://www. npmjs.com/package/mongodb-extended-json

Можете също да използвате тази библиотека във вашия браузър, за да създавате заявките. Или можете да създавате заявките на mongodb на ръка.

Не знам за плъгин / npm пакет, който би ви позволил автоматично да конвертирате заявки за обвивка на mongodb в MongoDB Extended JSON. Можете да опитате да ги конвертирате автоматично, като внедрите някои от типовете сами ( ISODate, ObjectId ). Въпреки това никога няма да имате пълна съвместимост между обвивката на mongodb и драйвера на mongodb nodejs, много методи имат различни подписи и типове връщане, курсорите работят по различен начин и т.н...

Има и този проект, алтернатива на официално поддържания драйвер mongodb nodejs, който се опитва да имитира обвивката малко повече, ако наистина цените това, но няма да ви помогне с вашата конкретна заявка, все пак ще трябва да конвертирате го.
https://docs.mongodb.org/ecosystem/ драйвери/node-js/




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - Максимален размер на файла с помощта на GridFS

  2. Как да групирате чрез указване на функция за извличане на ключ?

  3. MongoDB разлика между $orderby и Sort

  4. Посочете множество критерии в spring mongo db заявка

  5. mongoose актуализиране на поле в MongoDB не работи