MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Porównanie dat w Mongodb ze sterownikiem C# LINQ

Wreszcie znalazłem rozwiązanie wykorzystujące niestandardowy serializator dla pola Data. Tak to wygląda.

Moja klasa:

[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; }
}

I mój niestandardowy serializator:

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;
    }
}

Mam nadzieję, że to komuś pomoże.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Odnalezienie pierwszych 20 dokumentów z kolekcji w mongodb

  2. Polecenie LIKE w MongoDB(mongomapper)

  3. Grupa MongoDB z wieloma identyfikatorami

  4. NieobsłużonePromiseRejectionWarning:MongooseServerSelectionError

  5. Czy jest jakiś sposób na zaimplementowanie paginacji w wiosennym webfluxie i wiosenne dane reaktywne?