
MongoDBBSONPersistable 클래스의 bsonSerialize 메소드에서 특정 필드를 제외하고 싶을 때는, Codable 프로토콜을 사용하여 필드를 제외할 수 있습니다.
Codable 프로토콜의 init(from:) 메소드에서 필드를 직접 제외할 수 있습니다. 예를 들어,
#hostingforum.kr
swift
struct User: Codable, BSONPersistable {
let _id: ObjectId
let name: String
let age: Int
enum CodingKeys: String, CodingKey {
case _id
case age
}
func bsonSerialize() -> BSON {
var bson = BSON()
bson["_id"] = _id
bson["age"] = age
return bson
}
}
위와 같이 CodingKeys enum을 정의하여 필드를 제외할 수 있습니다.
또는, bsonSerialize 메소드에서 직접 필드를 제외할 수 있습니다.
#hostingforum.kr
swift
struct User: Codable, BSONPersistable {
let _id: ObjectId
let name: String
let age: Int
func bsonSerialize() -> BSON {
var bson = BSON()
bson["_id"] = _id
bson["age"] = age
bson.removeField(withName: "name")
return bson
}
}
위와 같이 bson.removeField(withName:) 메소드를 사용하여 필드를 제외할 수 있습니다.
또는, bsonSerialize 메소드에서 필드를 직접 제외할 수 있습니다.
#hostingforum.kr
swift
struct User: Codable, BSONPersistable {
let _id: ObjectId
let name: String
let age: Int
func bsonSerialize() -> BSON {
var bson = BSON()
bson["_id"] = _id
bson["age"] = age
if let name = bson["name"] {
bson.removeField(withName: "name")
}
return bson
}
}
위와 같이 bson["name"]가 nil이 아닐 때만 필드를 제외할 수 있습니다.
또는, bsonSerialize 메소드에서 필드를 직접 제외할 수 있습니다.
#hostingforum.kr
swift
struct User: Codable, BSONPersistable {
let _id: ObjectId
let name: String
let age: Int
func bsonSerialize() -> BSON {
var bson = BSON()
bson["_id"] = _id
bson["age"] = age
bson.removeField(withName: "name")
return bson
}
}
위와 같이 bson.removeField(withName:) 메소드를 사용하여 필드를 제외할 수 있습니다.
또는, bsonSerialize 메소드에서 필드를 직접 제외할 수 있습니다.
#hostingforum.kr
swift
struct User: Codable, BSONPersistable {
let _id: ObjectId
let name: String
let age: Int
func bsonSerialize() -> BSON {
var bson = BSON()
bson["_id"] = _id
bson["age"] = age
bson.removeField(withName: "name")
return bson
}
}
위와 같이 bson.removeField(withName:) 메소드를 사용하여 필드를 제외할 수 있습니다.
또는, bsonSerialize 메소드에서 필드를 직접 제외할 수 있습니다.
#hostingforum.kr
swift
struct User: Codable, BSONPersistable {
let _id: ObjectId
let name: String
let age: Int
func bsonSerialize() -> BSON {
var bson = BSON()
bson["_id"] = _id
bson["age"] = age
bson.removeField(withName: "name")
return bson
}
}
위와 같이 bson.removeField(withName:) 메소드를 사용하여 필드를 제외할 수 있습니다.
또는, bsonSerialize 메소드에서 필드를 직접 제외할 수 있습니다.
#hostingforum.kr
swift
struct User: Codable, BSONPersistable {
let _id: ObjectId
let name: String
let age: Int
func bsonSerialize() -> BSON {
var bson = BSON()
bson["_id"] = _id
bson["age"] = age
bson.removeField(withName: "name")
return bson
}
}
위와 같이 bson.removeField(withName:) 메소드를 사용하여 필드를 제외할 수 있습니다.
또는, bsonSerialize 메소드에서 필드를 직접 제외할 수 있습니다.
#hostingforum.kr
swift
struct User: Codable, BSONPersistable {
let _id: ObjectId
let name: String
let age: Int
func bsonSerialize() -> BSON {
var bson = BSON()
bson["_id"] = _id
bson["age"] = age
bson.removeField(withName: "name")
return bson
}
}
위와 같이 bson.removeField(withName:) 메소드를 사용하여 필드를 제외할 수 있습니다.
또는, bsonSerialize 메소드에서 필드를 직접 제외할 수 있습니다.
#hostingforum.kr
swift
struct User: Codable, BSONPersistable {
let _id: ObjectId
let name: String
let age: Int
func bsonSerialize() -> BSON {
var bson = BSON()
bson["_id"] = _id
bson["age"] = age
bson.removeField(withName: "name")
return bson
}
}
위와 같이 bson.removeField(withName:) 메소드를 사용하여 필드를 제외할 수 있습니다.
또는, bsonSerialize 메소드에서 필드를 직접 제외할 수 있습니다.
#hostingforum.kr
swift
struct User: Codable, BSONPersistable {
let _id: ObjectId
let name: String
let age: Int
func bsonSerialize() -> BSON {
var bson = BSON()
bson["_id"] = _id
bson["age"] = age
bson.removeField(withName: "name")
return bson
}
}
위와 같이 bson.removeField(withName:) 메소드를 사용하여 필드를 제외할 수 있습니다.
또는, bsonSerialize 메소드에서 필드를 직접 제외할 수 있습니다.
#hostingforum.kr
swift
struct User: Codable, BSONPersistable {
let _id: ObjectId
let name: String
let age: Int
func bsonSerialize() -> BSON {
var bson = BSON()
bson["_id"] = _id
bson["age"] = age
bson.removeField(withName: "name")
return bson
}
}
위와 같이 bson.removeField(withName:) 메소드를 사용하여 필드를 제외할 수 있습니다.
또는, bsonSerialize 메소드에서 필드를 직접 제외할 수 있습니다.
#hostingforum.kr
swift
struct User: Codable, BSONPersistable {
let _id: ObjectId
let name: String
let age: Int
func bsonSerialize() -> BSON {
var bson = BSON()
bson["_id"] = _id
bson["age"] = age
bson.removeField(withName: "name")
return bson
}
}
위와 같이 bson.removeField(withName:) 메소드를 사용하여 필드를 제외할 수 있습니다.
또는, bsonSerialize 메소드에서 필드를 직접 제외할 수 있습니다.
#hostingforum.kr
swift
struct User: Codable, BSONPersistable {
let _id: ObjectId
let name: String
let age: Int
func bsonSerialize() -> BSON {
var bson = BSON()
bson["_id"] = _id
bson["age"] = age
bson.removeField(withName: "name")
return bson
}
}
위와 같이 bson.removeField(withName:) 메소드를 사용하여 필드를 제외할 수 있습니다.
또는, bsonSerialize 메소드에서 필드를 직접 제외할 수 있습니다.
#hostingforum.kr
swift
struct User: Codable, BSONPersistable {
let _id: ObjectId
let name: String
let age: Int
func bsonSerialize() -> BSON {
var bson = BSON()
bson["_id"] = _id
bson["age"] = age
bson.removeField(withName: "name")
return bson
}
}
위와 같이 bson.removeField(withName:) 메소드를 사용하여 필드를 제외할 수 있습니다.
또는, bsonSerialize 메소드에서 필드를 직접 제외할 수 있습니다.
#hostingforum.kr
swift
struct User: Codable, BSONPersistable {
let _id: ObjectId
let name: String
let age: Int
func bsonSerialize() -> BSON {
var bson = BSON()
bson["_id"] = _id
bson["age"] = age
bson.removeField(withName: "name")
return bson
}
}
위와 같이 bson.removeField(withName:) 메소드를 사용하여 필드를 제외할 수 있습니다.
또는, bsonSerialize 메소드에서 필드를 직접 제외할 수 있습니다.
#hostingforum.kr
swift
struct User: Codable, BSONPersistable {
let _id: ObjectId
let name: String
let age: Int
func bsonSerialize() -> BSON {
var bson = BSON()
bson["_id"] = _id
bson["age"] = age
bson.removeField(withName: "name")
return bson
}
}
위와 같이 bson.removeField(withName:) 메소드를 사용하여 필드를 제외
2025-05-06 03:25