Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 4054890
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 20, 20262026-05-20T14:37:58+00:00 2026-05-20T14:37:58+00:00

I am using the official 10gen C# driver for mongoDB. I have some code

  • 0

I am using the official 10gen C# driver for mongoDB. I have some code that sets up BSON mappings, it’s ran once on application start:

BsonClassMap.RegisterClassMap<Review>(cm =>
{
    cm.AutoMap();
    cm.MapProperty(c => c.Date)
        .SetSerializationOptions(new DateTimeSerializationOptions{DateOnly = true});
    cm.UnmapProperty(c => c.Author);
});

This works fine when a Review is an embedded document and gets saved with its parent. However now I am trying to update a particular review and it involves some manual coding like so (magic strings, ugh):

collection.Update(query,
    Update.Set("Reviews.$.Date", review.Date)
    .Set("Reviews.$.Rating", review.Rating)
    .Set("Reviews.$.Title", review.Title)
    .Set("Reviews.$.Comment", review.Comment)
);

This also works… But it doesn’t honor the serialization settings for DateTime on the Review class and apparently saves the time part as well (even though it’d be midnight, since review.Date == DateTime.Today). Then when I try to retrieve that document I get an exception: [FileFormatException: TimeOfDay component for DateOnly DateTime value is not zero].

How do I fix this?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-20T14:37:58+00:00Added an answer on May 20, 2026 at 2:37 pm

    Wow. This is a tough one. I’ll have to think some how to best solve this. Bryan’s answer is correct that the serialization options are only used when you are serializing the whole class. But his last suggestion to call RegisterClassMap on DateTime is not right.

    But I can offer you a workaround. The reason you are getting the exception is that the DateTime you are using might be midnight in your local timezone, but it is being converted to UTC to store in the database. That’s where the non-zero time component is coming from.

    You can suppress the conversion to UTC by using:

    .Set(“Reviews.$.Date”, DateTime.SpecifyKind(review.Date, DateTimeKind.Utc))

    This should work, but let me know if it doesn’t and I’ll investigate further.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Using TortoiseSVN against VisualSVN I delete a source file that I should not have
I am using the official JSON library for my java project ad i have
I have a script that appends some rows to a table. One of the
I'm using official jQuery template plugin: http://api.jquery.com/category/plugins/templates/ I need some boolean check to know
I'm using official JDBC driver for PostgreSQL, but I'm stuck with the following issues:
How do I create the following document using the official c# driver? { name:
I have integrated the Facebook SDK in my app using the official facebook connect
we're currently generating all our official documents using XSL-FO transformation using .xml files as
Using online interfaces to a version control system is a nice way to have
Using ASP.NET MVC there are situations (such as form submission) that may require a

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.