我有正在使用的应用程序mongoose.js
。到目前为止,我使用的是mongod
. 但最近我改为复制集。
我如何在 mongoose.js 中访问 oplog 集合?我的意思是如何从另一个数据库(local
)中获取集合?假设我已连接到 db 并且拥有mongoose.connection
- 我现在如何查询 oplog?
您可以使用 mongoose.connect 方法访问 mongoose 中的另一个数据库,使用 MongoDB URL 指定数据库。例如,要连接到找到 oplog 的“本地”数据库:
mongoose.connect('mongodb://localhost/local')
您说您有兴趣这样做是为了观察 oplog 中的新条目,因此一旦建立与“本地”数据库的连接,您可能希望在“oplog.rs”集合上使用可尾光标,例如:
mongoose.connection.once('open', function callback () {
var collection = mongoose.connection.db.collection('oplog.rs')
collection.find({}, {tailable: true}).each(function(err, entry) {
if (err) {
// handle error
} else {
// got a new oplog entry
console.log('--- entry', entry)
}
})
});
希望这对您有所帮助,如果您还有其他问题,请告诉我。