And*_*ers 4 mongodb mongodb-query
我在mongo DB shell中最常见的事情是通过ID查找对象,例如:
db.collection.find({_id: ObjectId("55a3e051dc75954f0f37c2f2"})
Run Code Online (Sandbox Code Playgroud)
我一遍又一遍地这样做,我发现不得不一遍又一遍地用ObjectId包装id.我希望我有findById像猫鼬一样的速记形式.我觉得shell应该足够聪明,以便弄明白我的意思,例如:
db.collection.find("55a3e051dc75954f0f37c2f2")
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做?或者有没有其他方法可以在mongo shell中通过id查询?
幸运的是,您可以非常轻松地扩展shell,例如通过将以下方法添加到启动客户端时执行的~/.mongorc.js文件mongo:
DBCollection.prototype.findById = function(id) {
return db.getCollection(this._shortName).find( { "_id" : ObjectId(id) } );
}
Run Code Online (Sandbox Code Playgroud)
然后你可以执行类似的事情 db.collection.findById("55a3e051dc75954f0f37c2f2")