0

有两种不同的方法来获取对 MongoDB 集合的引用——这两种方法都在官方文档中使用。

var mycollection = db.collection('mycollection)'

并且有

db.collection('mycollection', function(err, collection){
   //use collection
}

我倾向于使用第二个,因为它与“db.createCollecion(collection, callback)”一致

这些方法有什么区别?

使用这些方法时是否有任何数据库交互?

4

1 回答 1

1

如果您查看当前在第 456 行附近的代码Database您会发现两者在您使用它们的方式上的唯一区别是集合对象的返回方式。如果你指定一个回调,那么它会以这种方式返回,否则,它会作为函数的值返回。但是,如果您将选项设置为,特别是选项strict,则true需要使用回调。当strict设置为 时true,在继续(异步)之前验证集合。

鉴于可以动态创建集合(通常在第一次使用时),通常不需要使用strict模式。

因此,否则,这实际上是个人编码偏好的问题。通过以下方式创建 Collection 对象时,数据库通常没有任何活动:db.collection('collectionname')除了我上面提到的例外。

于 2013-08-13T14:44:30.150 回答