MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Membandingkan tanggal di Mongodb dengan driver C# LINQ

Akhirnya saya menemukan solusi menggunakan serializer khusus untuk bidang Tanggal. Begini tampilannya.

Kelas saya:

[BsonIgnoreExtraElements]
public class Tweet
{
    public ObjectId Id { get; set; }

    [BsonElement("text")]
    public string Texto { get; set; }

    [BsonElement("created_at")]
    [BsonSerializer(typeof(FechaTweetsSerializer))]
    public DateTime Fecha { get; set; }
}

Dan serializer kustom saya:

public class FechaTweetsSerializer : SerializerBase<DateTime>
{

    public override void Serialize(BsonSerializationContext context, BsonSerializationArgs args, DateTime value)
    {
        context.Writer.WriteString(value.ToString(CultureInfo.InvariantCulture));
    }

    public override DateTime Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
    {
        var fecha = context.Reader.ReadString();
        return ConvertirFecha(fecha);
    }

    private DateTime ConvertirFecha(string fechaFormatoTwitter)
    {
        var formato = "ddd MMM dd HH:mm:ss zzzz yyyy"; //'Sun Oct 23 19:42:04 +0000 2016'
        var enUS = new CultureInfo("en-US");
        var fechaConvertida = DateTime.ParseExact(fechaFormatoTwitter, formato, enUS, DateTimeStyles.None);
        return fechaConvertida;
    }
}

Semoga bisa membantu seseorang.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose Mongodb menanyakan array objek

  2. Pencarian mongodb data musim semi untuk tanggal ISO

  3. Bagaimana saya bisa memperbarui kenaikan dua bidang dalam satu perintah di MongoDB?

  4. Meteor publish berlangganan tidak reaktif

  5. Bagaimana fasih memanfaatkan skenario ini?