gpt4 book ai didi

node.js - nodejs如何执行原始mongo查询字符串

转载 作者:太空宇宙 更新时间:2023-11-04 01:07:09 25 4
gpt4 key购买 nike

我正在使用nodejs和mongoose。

另一个函数将为我提供一个原始的 mongodb 查询作为字符串,我需要直接在数据库上执行它并传回结果。

我需要的类似于在 mysql 连接对象上执行 mysql 查询字符串,但我不知道如何为 mongo 执行此操作。请帮忙。

我不知道模型,查询可以是任何内容。这是主要问题。甚至像 显示集合 这样的东西在这里也是有效的。

我知道这使得它容易受到 SQL 注入(inject)的影响,但在本例中这不是问题,所以不用担心。

提前致谢。

最佳答案

如果我理解正确,您正在尝试从某个界面(网页或其他东西)获取 mongo 命令,在服务器上运行它并发回结果。

所以本质上你是在尝试模拟 mongo shell。一种方法是使用 mongo 的 --eval 命令行参数。

  1. 对于这种类型的每个请求,生成一个新的子 Node ,运行 mongo --eval <your command in quotes>并继续监听父级中子级的 stdout 事件 (child.stdout.on('data', cb)),并将结果数据转储到客户端。

  2. 您还可以将 JavaScript 文件作为参数传递给 mongo 命令。这意味着您可以将 mongo 查询转储到临时 js 文件,使用 mongo 命令在子进程中执行该文件,然后转储结果。

关于node.js - nodejs如何执行原始mongo查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21949531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com