{"id":43186,"library":"mongodb-search-interface","title":"mongodb-search-interface","description":"mongodb-search-interface v1.2.5 is a lightweight TypeScript utility that builds MongoDB query objects from structured search parameters, commonly used in GraphQL resolvers or REST APIs. It provides a simple function to transform a filter object into a MongoDB query with support for operators like $text, $regex, and comparison operators. Unlike more manual approaches, it offers a declarative way to construct search queries without raw MongoDB query building, ideal for search endpoints. The package is stable but infrequently updated, last release in 2021. It ships TypeScript definitions.","status":"maintenance","version":"1.2.5","language":"javascript","source_language":"en","source_url":"https://github.com/yearnlune/mongodb-search","tags":["javascript","yearnlune","mongodb","graphql","search","typescript"],"install":[{"cmd":"npm install mongodb-search-interface","lang":"bash","label":"npm"},{"cmd":"yarn add mongodb-search-interface","lang":"bash","label":"yarn"},{"cmd":"pnpm add mongodb-search-interface","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"searchInterface is a named export, not a default one. TypeScript will error if you try default import.","wrong":"import searchInterface from 'mongodb-search-interface'","symbol":"searchInterface","correct":"import { searchInterface } from 'mongodb-search-interface'"},{"note":"TypeScript type export; can be imported as type. No runtime value, so require() is incorrect.","wrong":"const { SearchInterfaceInput } = require('mongodb-search-interface')","symbol":"SearchInterfaceInput","correct":"import { SearchInterfaceInput } from 'mongodb-search-interface'"},{"note":"CommonJS must destructure since the module exports an object with searchInterface.","wrong":"const searchInterface = require('mongodb-search-interface')","symbol":"searchInterface (CommonJS)","correct":"const { searchInterface } = require('mongodb-search-interface')"}],"quickstart":{"code":"import { searchInterface } from 'mongodb-search-interface';\n\nconst filter = {\n  name: { $search: 'john' },\n  age: { $gte: 18 },\n  city: 'New York'\n};\n\nconst query = searchInterface(filter);\nconsole.log(query);\n// Example output: { name: { $regex: /john/i }, age: { $gte: 18 }, city: 'New York' }","lang":"typescript","description":"Demonstrates searchInterface basic usage: transforming a filter object into a MongoDB query with $regex for text search."},"warnings":[{"fix":"Use { $text: { $search: '...' } } manually if you need MongoDB $text indexes.","message":"The $search operator in filter input triggers $regex conversion, not MongoDB's $text index. This may cause unexpected behavior if you expect full-text search.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Consider building queries manually or use a more active library like 'mongo-query-builder'.","message":"The package is in maintenance mode with no updates since 2021. Not compatible with future MongoDB driver versions.","severity":"deprecated","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'2021':88 'api':31 'approach':59 'build':16,73 'common':24 'comparison':54 'construct':66 'declar':63 'definit':92 'endpoint':77 'filter':40 'function':36 'graphql':27,96 'ideal':74 'infrequ':83 'interfac':4,8 'javascript':93 'last':85 'lightweight':12 'like':50 'manual':58 'mongodb':2,6,17,44,71,95 'mongodb-search-interfac':1,5 'object':19,41 'offer':61 'oper':49,55 'packag':79 'paramet':23 'provid':33 'queri':18,45,68,72 'raw':70 'regex':52 'releas':86 'resolv':28 'rest':30 'search':3,7,22,67,76,97 'ship':90 'simpl':35 'stabl':81 'structur':21 'support':47 'text':51 'transform':38 'typescript':13,91,98 'unlik':56 'updat':84 'use':25 'util':14 'v1.2.5':9 'way':64 'without':69 'yearnlun':94","created_at":"2026-06-05T16:58:35.924299+00:00","updated_at":"2026-06-05T16:58:35.924299+00:00","problems":[{"fix":"import { searchInterface } from 'mongodb-search-interface'","cause":"Default import instead of named import when using ESM.","error":"TypeError: searchInterface is not a function"},{"fix":"Use named import: import { searchInterface } from 'mongodb-search-interface'","cause":"Using default import in TypeScript.","error":"Property 'searchInterface' does not exist on type 'typeof import(...)'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/yearnlune/mongodb-search","github":"https://github.com/yearnlune/mongodb-search","docs":null,"changelog":null,"pypi":null,"npm":"mongodb-search-interface","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-05","next_check":"2026-09-03","install_tag":null}}