Существует ли такая вещь, как схема JSON для самого языка запросов MongoDB? - PullRequest
0 голосов
/ 22 сентября 2018

Запросы MongoDB - по крайней мере, в JavaScript - структурированы как JSON, но они очень гибкие, поэтому я знаю, что это будет непросто, и даже не уверен, что это возможно, а простоинтересно.

Существует ли схема JSON для определения, является ли случайный JSON допустимым объектом запроса MongoDB?

Ответы [ 3 ]

0 голосов
/ 04 марта 2019

Вы можете использовать что-то вроде mongodb-language-model

Как использовать

var accepts = require('mongodb-language-model').accepts;

console.log(accepts('{"ns":{"$in":["foo", "bar", "baz"]}}'));  // true
console.log(accepts('{"ns":{"$in":{}}}'));                     // false
console.log(accepts('{"ns":{"$regex": "foo"}}'));              // true
0 голосов
/ 05 марта 2019

Вы можете использовать любой из следующих пакетов

mongodb-language-model

mongodb-query-parser

0 голосов
/ 28 февраля 2019

Похоже, что MongoDB Compass (по крайней мере частично) реализовал проверку языка запросов для многих команд, таких как $ или, $ и $ text / $ search и т. Д. Compass не просто проверяет, является ли ваш запрос допустимым JSON, нотакже подтверждает, что вы указали правильный формат запроса.Если вас интересует, как это реализовано, я бы порекомендовал вам проверить исходный код github.

...