有两种不同的方法可以获得对MongoDB集合的引用 - 这两种方法都在官方文档中使用。
有
var mycollection = db.collection('mycollection)'
并且有
db.collection('mycollection', function(err, collection){
//use collection
}
我倾向于使用第二个,因为它与“db.createCollecion(collection,callback)”一致
这些方法有什么区别?
使用这些方法时是否存在数据库交互?
答案 0 :(得分:1)
如果您查看Database
的{{3}},目前在第456行附近,您会看到两者之间的唯一区别在于您使用它们的方式是收集对象的方式回。如果指定回调,则以该方式返回,否则,它将作为值返回给函数。如果您设置了选项,特别是选项strict
到true
,则需要使用回调。当strict
设置为true
时,会在继续(异步)之前验证集合。
鉴于可以动态创建集合(通常在首次使用时),通常不需要使用strict
模式。
所以,这是个人编码偏好的问题。通过以下方式创建Collection对象时,数据库通常没有活动:db.collection('collectionname')
,除了我上面提到的例外。