在现代的Web应用程序中,数据库是不可或缺的一部分。而MongoDB是最受欢迎的NoSQL数据库之一。但是,如何在前端应用程序中使用它的查询语言是一个头痛的问题。不过,好消息是有一个轻量级的npm包mongo-interlude可以在前端中使用MongoDB。
什么是mongo-interlude
Mongo-interlude是一个拥有多个函数的类,其中一些在MongoDB查询语言方面尤为有用。它使得在前端应用程序中使用MongoDB更容易,同时避免了后端的代码。这个包的美妙之处在于不会在浏览器中显式地访问您的数据库,但它确实提供了几个函数来执行和构造查询语句。
安装mongo-interlude
使用npm可以很容易地安装mongo-interlude:
npm install mongo-interlude --save
安装完包之后,您可以立即在您的应用程序中使用它。
使用mongo-interlude
以下是一些mongo-interlude的函数和使用它们的示例:
$eq
该函数返回一个等于传递的值的文档。
const documents = [ { name: 'Mike', age: 29 }, { name: 'John', age: 45 }, { name: 'Deb', age: 51 } ]; const result = documents.filter(document => Mongo.$eq('Mike')(document.name));
$gt
该函数可以返回大于给定值的所有文档。
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]; const result = numbers.filter(number => Mongo.$gt(5)(number));
$lt
该函数可以返回小于给定值的所有文档。
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]; const result = numbers.filter(number => Mongo.$lt(5)(number));
$or
该函数返回一个按照逻辑或条件匹配的文档列表。
-- -------------------- ---- ------- ----- --------- - - - ----- ------- ---- -- -- - ----- ------- ---- -- -- - ----- ------ ---- -- - -- ----- ------ - ------------------------- -- ---------- --------------------------------- --------------------------- ---
$and
该函数返回一个按照逻辑与条件匹配的文档列表。
-- -------------------- ---- ------- ----- --------- - - - ----- ------- ---- -- -- - ----- ------- ---- -- -- - ----- ------ ---- -- - -- ----- ------ - ------------------------- -- ----------- --------------------------------- --------------------------- ---
$in
该函数返回一个包含传递值的文档列表。
const documents = [ { name: 'Mike', age: 29 }, { name: 'John', age: 45 }, { name: 'Deb', age: 51 } ]; const result = documents.filter(document => Mongo.$in(['Mike', 'John'])(document.name));
$nin
该函数返回一个不包含传递值的文档列表。
const documents = [ { name: 'Mike', age: 29 }, { name: 'John', age: 45 }, { name: 'Deb', age: 51 } ]; const result = documents.filter(document => Mongo.$nin(['Deb'])(document.name));
$exists
该函数返回传递的字段是否存在的文档列表。
const documents = [ { name: 'Mike', age: 29 }, { name: 'John', age: 45 }, { name: 'Deb', age: 51 } ]; const result = documents.filter(document => Mongo.$exists(true)(document.name));
$all
该函数返回传递的所有值都存在的文档列表。
const documents = [ { hobbies: ['golf', 'tennis'] }, { hobbies: ['swimming', 'tennis'] }, { hobbies: ['golf'] } ]; const result = documents.filter(document => Mongo.$all(['golf', 'tennis'])(document.hobbies));
结论
Mongo-interlude在前端应用程序中使用MongoDB查询语言时非常有用。它使得使用MongoDB更容易,并且避免了后端代码的写作。我们已经了解了这个npm包中的一些函数和示例。您可以访问GitHub仓库来了解更多关于它的信息。希望这篇文章对您有帮助!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600562f381e8991b448e0ada