我有使用mongoose.js
的应用。
直到现在我使用mongod
的单个实例。但最近我改为复制品。
我如何在mongoose.js中访问oplog集合?我是说如何从另一个db(local
)获取集合?所以,假设我已连接到db并拥有mongoose.connection
- 我现在如何查询oplog?
答案 0 :(得分:8)
您可以使用mongoose.connect方法在mongoose中访问另一个数据库,使用MongoDB URL指定数据库。例如,要连接到找到oplog的“本地”数据库:
mongoose.connect('mongodb://localhost/local')
你说你有兴趣这样做是为了在oplog中查看新条目,所以你可能希望在连接到“本地”数据库后在“oplog.rs”集合上使用tailable游标成立,例如:
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)
}
})
});
希望这有帮助,如果您有其他问题,请与我们联系。