Mongoose模式和通过python插入
我正在为一个WebApp使用Nodejs服务器,Mongoose充当ORM 我有一些钩子,当数据插入到某个集合中时会触发 我希望在python脚本插入mongoDB实例时触发这些钩子。因此,如果我有一个预保存钩子,它将根据该钩子修改python脚本插入 这可能吗?如果是,我该怎么做 如果没有,请随时向我解释为什么这是不可能的和/或为什么我很愚蠢Mongoose模式和通过python插入,python,node.js,mongodb,mongoose,Python,Node.js,Mongodb,Mongoose,我正在为一个WebApp使用Nodejs服务器,Mongoose充当ORM 我有一些钩子,当数据插入到某个集合中时会触发 我希望在python脚本插入mongoDB实例时触发这些钩子。因此,如果我有一个预保存钩子,它将根据该钩子修改python脚本插入 这可能吗?如果是,我该怎么做 如果没有,请随时向我解释为什么这是不可能的和/或为什么我很愚蠢 EDIT:几个月后,我又回到了这个问题,当我问这个问题时,我对自己的绿色感到畏缩。我真正需要做的就是在NodeJS服务器上创建一个API端点/标志,专门
EDIT:
几个月后,我又回到了这个问题,当我问这个问题时,我对自己的绿色感到畏缩。我真正需要做的就是在NodeJS服务器上创建一个API端点/标志,专门用于自动化任务,如python脚本,向其发送数据,并在NodeJS land结构中使用mongoose。Mongo本身不支持钩子功能,mongoose
提供了您可以使用的现成钩子。那么,如何使它在python中工作呢
mongoose
所做的。现在,eve是一个RESTAPI框架,从您的描述来看,它听起来不像您想要的。不幸的是,我不知道有哪一个软件包能完美地满足你的需求(如果你真的找到了,如果你能在你的问题中分享一个链接,那就太好了)
这是不可能的,因为python和NodeJ是两个不同的运行时——独立的进程,彼此之间没有访问内存的权限 Mongoose是一个nodejs ORM——一个将Javascript对象映射到Mongodb文档并处理数据库查询的库 所有mongoose钩子都属于javascript空间。它们在Mongoose向mongo发送任何请求之前在javascript对象上执行。由此产生的两个结果:没有其他进程会弄乱这些钩子,甚至没有另一个NodeJ,并且一旦查询到达mongodb,它就是最终的,没有更多的钩子,没有更多的修改 一个人说一幅100字的画: python和mongo都不知道mongoose钩子。对mongo的所有查询都是在客户端启动的-脚本发送一个请求来修改数据库的状态或查询数据库的状态 从mongodb端的更新触发javascript代码执行的唯一方法是使用 变更流不是mongoose钩子,但可以用来钩住mongo端的更新。这是对数据库的更高级的使用。它对mongo设置、oplog的大小、changestream客户端的可用性、错误处理等都有额外的要求。
您可以在这里了解更多关于变更流的信息,我强烈建议您寻求专业建议来构建此类设置,以避免沮丧和意外行为。此答案满足了我的问题,并在回顾时解释了我的想法,我意识到,由于当时缺乏经验,我无法恰当地提出这个问题。我将用一个附录来更新这个问题,解释我使用了什么,并澄清我的原始问题。