Skip to content

Commit 1deaf94

Browse files
committed
Fixed BSONDocument.init(predicate:)
1 parent ad8b287 commit 1deaf94

1 file changed

Lines changed: 9 additions & 7 deletions

File tree

Sources/MongoDBModel/Predicate.swift

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,17 @@ public extension BSONDocument {
4646

4747
public extension BSONDocument {
4848

49-
init?(predicate: Comparison) {
49+
init?(predicate: FetchRequest.Predicate.Comparison) {
5050
// { <field>: { $eq: <value> } }
51+
guard case let .keyPath(keyPath) = predicate.left,
52+
let comparisonOperator = ComparisonQueryOperator(predicate: predicate.type),
53+
case let .value(value) = predicate.right,
54+
predicate.options.isEmpty,
55+
predicate.modifier == nil,
56+
let valueBSON = try? BSON(attributeValue: value) else {
5157
return nil
5258
}
53-
}
54-
55-
public extension BSON {
56-
57-
init?(predicate: Expression) {
58-
return nil
59+
self = [
60+
keyPath.rawValue: .document([comparisonOperator.rawValue: valueBSON])]
5961
}
6062
}

0 commit comments

Comments
 (0)