Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
node.js中的MongoDB和构造函数/类(异步)_Node.js_Mongodb_Coffeescript - Fatal编程技术网

node.js中的MongoDB和构造函数/类(异步)

node.js中的MongoDB和构造函数/类(异步),node.js,mongodb,coffeescript,Node.js,Mongodb,Coffeescript,我想使用类抽象某些MongoDB查询/文档 基本上,我认为方法是在某个地方(自己的类?)创建连接,并在各种类中使用该连接(池)。但我如何在代码方面做到这一点呢。例如,我不确定,当我使用MongoDBConnectionClass并在构造函数中初始化连接时,如何确保我等待连接建立后在其他地方继续使用它 我想我在这里做错了什么。这里有一个模式,也许可以更好地理解我的意思 MongoDBConnection(Class?) +---- Class1+ # eg. Book +---- Class2+

我想使用类抽象某些MongoDB查询/文档

基本上,我认为方法是在某个地方(自己的类?)创建连接,并在各种类中使用该连接(池)。但我如何在代码方面做到这一点呢。例如,我不确定,当我使用MongoDBConnectionClass并在构造函数中初始化连接时,如何确保我等待连接建立后在其他地方继续使用它

我想我在这里做错了什么。这里有一个模式,也许可以更好地理解我的意思

MongoDBConnection(Class?)
+---- Class1+ # eg. Book
+---- Class2+ # eg. Library
+---- Class3+ # eg. Dust
            |
            +-- Library1+ # eg. New Book Release
            +-- Library2+ # ...
            +-- Library3+ # ...
                        |
                        +-- App1
                        +-- App2
                        +-- App3

哦,一个CoffeScript答案会很好,但是JS当然也能工作。

我在我的教程中使用了这个模式(很快就会出来)


如果您查看模型和控制器,我会用db对象包装实际函数。

所有内容都是节点中的事件驱动。你看过吗?我建议从它开始,也许还有一些NodeJS教程。我知道,一切都是事件驱动的。我只是想知道什么是处理这个问题的好模式。你需要提供更多关于你的问题的细节。你的代码是什么样子的?显而易见的答案是在连接可用之前延迟其他工作。所以,正如我所说的,不清楚你有什么问题。我想要达到抽象,就像上面描述的那样,我不知道如何在不增加太多复杂性的情况下实现它。拖延工作听起来像是排队。另一种方法是将整个应用程序放入db.open。另一种方法是将类的构造函数从.connect()方法中分离出来。基本上,我想知道有哪些模式可以分离胶水和业务代码。