sql >> データベース >  >> NoSQL >> MongoDB

フィールドで$dateFromStringを使用する場合、結果にnullフィールドが含まれないようにしてください

    $typeを使用して、日付がnullであるか、ファイルが欠落していないかを確認することで、これを行うことができます。 、欠落している場合は、$$REMOVEを使用して削除します 、

    db.collection.aggregate([
      {
        $project: {
          date1: {
            $cond: {
              if: {
                $or: [
                  { $eq: [{ $type: "$date1" }, "missing"] },
                  { $eq: ["$date1", null] }
                ]
              },
              then: "$$REMOVE",
              else: {
                $dateFromString: {
                  dateString: {
                    $dateToString: {
                      format: "%Y-%m-%d",
                      date: "$date1"
                    }
                  }
                }
              }
            }
          },
          date2: {
            $cond: {
              if: {
                $or: [
                  { $eq: [{ $type: "$date2" }, "missing"] },
                  { $eq: ["$date2", null] }
                ]
              },
              then: "$$REMOVE",
              else: {
                $dateFromString: {
                  dateString: {
                    $dateToString: {
                      format: "%Y-%m-%d",
                      date: "$date2"
                    }
                  }
                }
              }
            }
          },
          date3: {
            $cond: {
              if: {
                $or: [
                  { $eq: [{ $type: "$date3" }, "missing"] },
                  { $eq: ["$date3", null] }
                ]
              },
              then: "$$REMOVE",
              else: {
                $dateFromString: {
                  dateString: {
                    $dateToString: {
                      format: "%Y-%m-%d",
                      date: "$date3"
                    }
                  }
                }
              }
            }
          }
        }
      }
    ])
    

    遊び場




    1. mongoDBの配列内の要素を切り替える方法

    2. MongoDBでローカルホストのみをリッスンする方法

    3. MongoDB:ネストされた配列フィルタリングを使用したfindおよびfindOne

    4. mongodb:ネストされたドキュメントまたは参照付きの個別のコレクションを使用する