# Logstash output mongodb plugin error

**URL:** <https://discuss.elastic.co/t/logstash-output-mongodb-plugin-error/123442>\
**Category:** Logstash\
**Created:** [March 11, 2018, 6:48pm UTC](https://discuss.elastic.co/t/logstash-output-mongodb-plugin-error/123442 "2018-03-11T18:48:54Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![fafahei](https://avatars.discourse-cdn.com/v4/letter/f/977dab/32.png) [@fafahei](https://discuss.elastic.co/u/fafahei)\
**Post date:** [March 11, 2018, 6:48pm UTC](https://discuss.elastic.co/t/logstash-output-mongodb-plugin-error/123442/1 "2018-03-11T18:48:54Z")

</div>

when I use logstash to collect data from syslog to mongodb and filter is dissect or grok, logstash log show error and can't transfer data, below is error message:

[2018-03-12T02:16:59,739][WARN][logstash.outputs.mongodb] Failed to send event to MongoDB {:event=\>#LogStash::Event:0x20e5e1a0, :exception=\>#\<NoMethodError: undefined method `to_json' for nil:NilClass Did you mean? to_bson>, :backtrace=>["/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-output-mongodb-3.1.3/lib/logstash/outputs/mongodb.rb:81:in`receive'", "/usr/share/logstash/logstash-core/lib/logstash/outputs/base.rb:92:in `block in multi_receive'", "org/jruby/RubyArray.java:1734:in`each'", "/usr/share/logstash/logstash-core/lib/logstash/outputs/base.rb:92:in `multi_receive'", "/usr/share/logstash/logstash-core/lib/logstash/output_delegator_strategies/legacy.rb:22:in`multi\_receive'", "/usr/share/logstash/logstash-core/lib/logstash/output\_delegator.rb:49:in `multi_receive'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:479:in`block in output\_batch'", "org/jruby/RubyHash.java:1343:in `each'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:478:in`output\_batch'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:430:in `worker_loop'", "/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:385:in`block in start\_workers'"]}

I am very confused and because I could successfully put data to mongodb before. Besides, I tested and stdout correct result with commenting output mongodb plugin. Who can help me and encountered similar problem? Thanks.

---

<div class="post-metadata">

**Author:** ![yaauie](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/yaauie/32/23363_2.png) [@yaauie](https://discuss.elastic.co/u/yaauie)\
**Post date:** [March 11, 2018, 9:16pm UTC](https://discuss.elastic.co/t/logstash-output-mongodb-plugin-error/123442/2 "2018-03-11T21:16:31Z")

</div>

It looks like the [`logstash-output-mongodb`](https://www.elastic.co/guide/en/logstash/current/plugins-outputs-mongodb.html) plugin expects each event to have a timestamp, and fails in this hard-to-decipher way whenever it encounters an event that doesn't have a timestamp.

You may want to use [`logstash-filter-date`](https://www.elastic.co/guide/en/logstash/current/plugins-filters-date.html) to extract a timestamp from one of your other fields:

```auto
filter {
  date {
    match => ["date-field", "ISO8601"]
  }
}

```

---

<div class="post-metadata">

**Author:** ![fafahei](https://avatars.discourse-cdn.com/v4/letter/f/977dab/32.png) [@fafahei](https://discuss.elastic.co/u/fafahei)\
**Post date:** [March 14, 2018, 5:18pm UTC](https://discuss.elastic.co/t/logstash-output-mongodb-plugin-error/123442/3 "2018-03-14T17:18:23Z")

</div>

Thanks very much. It is helpful.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [April 11, 2018, 5:18pm UTC](https://discuss.elastic.co/t/logstash-output-mongodb-plugin-error/123442/4 "2018-04-11T17:18:24Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
