首页 > 解决方案 > MongoKitten:检查 ObjectId 是否存在

问题描述

如何检查集合中是否存在 ObjectId?从 mongo 控制台我这样做:

> db.collection.find({_id: ObjectId("5bb216a8475fe42644993a40")}, {_id: 1}).limit(1);

如何使用 MongoKitten 做同样的事情?

标签: swiftmongokitten

解决方案


let mongoClient = try MongoKitten.Database("mongodb://\(username):\(password)@\(ipAddress)/\(database)")
let myCollection = mongoClient[collection]
let oid = try ObjectId("5bb216a8475fe42644993a41")
let document = try myCollection.findOne("_id" ==  oid)

document将是nil如果 ObjectId 不存在

另外,基于this document,findOne()Mongo DB的方法比方法占用更多的资源find()。但是在 MongoKitten 的底层findOne()使用find()方法:link


推荐阅读