gpt4 book ai didi

node.js - require ('mongoose' .Mongoose 和 require ('mongoose' 之间的区别)

转载 作者:可可西里 更新时间:2023-11-01 09:29:55 30 4
gpt4 key购买 nike

我注意到某些图书馆喜欢
mock 鹅 ( https://github.com/mccormicka/Mockgoose/blob/master/test/index.spec.js )
使用 require('mongoose').Mongoose 声明一个 mongoose 实例,如下所示:

var Mongoose = require('mongoose').Mongoose;
var mongoose = new Mongoose();
var db = mongoose.connect('mongodb://localhost:27017/TestingDB');

但是,我在网上看到的大多数示例都是这样做来连接到数据库的:

var mongoose = require('mongoose');
var db = mongoose.connect('mongodb://localhost:27017/TestingDB');

我只是想知道这两种获取 mongoose 实例的方法之间是否存在差异,或者它们是否真的是两种不同的方法来获取相同的东西。

谢谢

最佳答案

两者是有区别的。

require('mongoose') 返回一个 Mongoose 的实例,new require('mongoose').Mongoose 给你一个新的Mongoose 的实例与 require('mongoose') 返回的实例不同。当您的应用程序的特定部分需要它自己的 mongoose 实例且与其余部分不冲突时,后者很有用(这使其非常适合单元测试)

在一个典型的应用程序中,虽然你会想简单地使用 require('mongoose') 这样无论你在哪里使用 require('mongoose'),你都会得到相同的实例。

https://github.com/Automattic/mongoose/blob/master/lib/index.js#L520

关于node.js - require ('mongoose' .Mongoose 和 require ('mongoose' 之间的区别),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32213673/

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