Re: Digest for mongodb-user@xxxxxxxxxxxxxxxx - 22 updates in 20 topics

From: Shlok M <shlok@xxxxxxxxxxxxxx>
To: mongodb-user@xxxxxxxxxxxxxxxx
Date: Wed, 20 Apr 2016 23:44:27 +0530
Why ads?
Anyone can help with setup on mongo cloud manager??

Unable to assign {{mongod:mongod}} as owner of
{{/var/log/mongodb-mms-automation}}.

Mongo db hosted on ubuntu on aws.

On Wed, Apr 20, 2016 at 8:38 PM, <mongodb-user@xxxxxxxxxxxxxxxx> wrote:

mongodb-user@xxxxxxxxxxxxxxxx
<https://groups.google.com/forum/?utm_source=digest&utm_medium=email#!forum/mongodb-user/topics> Google
Groups
<https://groups.google.com/forum/?utm_source=digest&utm_medium=email/#!overview>
<https://groups.google.com/forum/?utm_source=digest&utm_medium=email/#!overview>
Topic digest
View all topics
<https://groups.google.com/forum/?utm_source=digest&utm_medium=email#!forum/mongodb-user/topics>

   - Wide to long transformation in aggregation
   <#m_501975466342550386_group_thread_0> - 1 Update
   - [Cloud Manager] Domain name and SSL certificate for a replicat set
   <#m_501975466342550386_group_thread_1> - 2 Updates
   - How allowDiskUse is executed <#m_501975466342550386_group_thread_2>
   - 1 Update
   - CANT find collection $cmd.sys.inprog
   <#m_501975466342550386_group_thread_3> - 1 Update
   - $mod rounding to integer <#m_501975466342550386_group_thread_4> - 1
   Update
   - Accessing MongoDB from PySpark 1.6
   <#m_501975466342550386_group_thread_5> - 1 Update
   - Agreggation in Mongo Data API ...
   <#m_501975466342550386_group_thread_6> - 1 Update
   - BSON to JSON conversion using official mongo db Scala driver
   <#m_501975466342550386_group_thread_7> - 1 Update
   - How to use a result from an aggregation query
   <#m_501975466342550386_group_thread_8> - 1 Update
   - GridFS C# stream videos on Webpage
   <#m_501975466342550386_group_thread_9> - 1 Update
   - Time Series and Sensor Data <#m_501975466342550386_group_thread_10>
   - 1 Update
   - flushing mmaps after unclean restart
   <#m_501975466342550386_group_thread_11> - 1 Update
   - mongo rebalancer failing. <#m_501975466342550386_group_thread_12> - 1
   Update
   - Hoping for a lifeline, newbie disappointed and ready to entirely
   give up on MongoDB <#m_501975466342550386_group_thread_13> - 1 Update
   - How to invoke Mongodb DLL invoked from Sql Server or work arounds
   <#m_501975466342550386_group_thread_14> - 1 Update
   - mongocxx 3.x insert will throw exception when duplicate key found
   <#m_501975466342550386_group_thread_15> - 1 Update
   - Need help setting up filters for logstash for Mongo 3.0
   <#m_501975466342550386_group_thread_16> - 2 Updates
   - Why does MongoDB (Version 3.2) creates two connections instead of
   one? <#m_501975466342550386_group_thread_17> - 1 Update
   - MongoDB Hadoop Connector Set-up
   <#m_501975466342550386_group_thread_18> - 1 Update
   - Pymongo no_cursor_timeout ignored
   <#m_501975466342550386_group_thread_19> - 1 Update

Wide to long transformation in aggregation
<http://groups.google.com/group/mongodb-user/t/6cf18a6f9d298b3?utm_source=digest&utm_medium=email>
Boyd Skelton <boydskelton@xxxxxxxxx>: Apr 20 06:48AM -0700

I am working with a dataset that looks like this:

asset, start_date, end_date, ship_date
"A", 2015-01-01, 2015-02-01, 2015-03-01
"B", 2015-02-01, 2015-02-15, 2015-03-01

Ultimately, I would like to aggregate the data to produce the following:

[{
_id : {
year: 2015,
month: 1
},
start:1,
end: 0,
ship: 0
},
{
_id : {
year: 2015,
month: 2
},
start: 1,
end: 2,
ship: 0
},
{
_id : {
year: 2015,
month: 2
},
start: 0,
end: 0,
ship: 2
}]

My thought is to use $project, $addToSet, and $unwind; but is there a
better way?

Thank you.
Back to top <#m_501975466342550386_digest_top>
[Cloud Manager] Domain name and SSL certificate for a replicat set
<http://groups.google.com/group/mongodb-user/t/2c3d14d9dc7865d4?utm_source=digest&utm_medium=email>
Markus Thielsch <markus.thielsch@xxxxxxxxxxx>: Apr 19 03:02PM -0700

Hi EM,

As user of the MongoDB Cloud Manager you can always contact MongoDB using
our Cloud Support website <https://cloud.mongodb.com/support>.

Unfortunately there is no setting in Cloud Manager which let’s you choose
the hostnames. The only way of using your own hostnames is to provision
the
servers manually and then import them into Cloud Manager. Please have a
look at how to Add Existing MongoDB Processes to Cloud Manager
<https://docs.cloud.mongodb.com/tutorial/add-existing-mongodb-processes/>.

Alternatively you are able to create the SSL certificates and add DNS
aliases to your SSL configuration and certificate files after you created
them on *.example.com. You might want to have a look at this CAcert Wiki
<http://wiki.cacert.org/FAQ/subjectAltName> or apetec.com article
<http://apetec.com/support/GenerateSAN-CSR.htm> in regards to this.

As for the question if you should use elastic IP or not I can’t make any
recommendation as this depends entirely on your use case and is maybe best
asked in the AWS forum <https://forums.aws.amazon.com/index.jspa>.

Regards,
Markus

On Friday, April 15, 2016 at 6:35:18 AM UTC+10, EM wrote:

Hi,
EM <montredon.emilie@xxxxxxxxx>: Apr 20 06:47AM -0700

Hi,

Thank you very much for your response. I will take a look to your links
and
to try to use my SSL certificates on my MongoDB deployment.

Just in case someone might be interested, I could easily allocate Elastic
IPs to each instance of my MongoDB deployment. The changes were
automatically reflected into the MongoDB Cloud Manager. This way, the IPs
stay the same, even if the the instance need a reboot.

Best regards.


Le mercredi 20 avril 2016 00:02:14 UTC+2, Markus Thielsch a écrit :
Back to top <#m_501975466342550386_digest_top>
How allowDiskUse is executed
<http://groups.google.com/group/mongodb-user/t/fc48ae3282d41e96?utm_source=digest&utm_medium=email>
"Przemysław Wojnowski" <cumego@xxxxxxxxx>: Apr 20 06:27AM -0700

Hello,

In docs for "allowDiskUse" there is:
"Enables writing to temporary files. When set to true, aggregation stages
can write data to the _tmp subdirectory in the dbPath
<
https://docs.mongodb.org/manual/reference/configuration-options/#storage.dbPath>

directory."

Does it mean that setting the option to "true" will make pipeline stages
to
always use the disk or only when a stage exceeds 100MB limit?

Thanks!
Back to top <#m_501975466342550386_digest_top>
CANT find collection $cmd.sys.inprog
<http://groups.google.com/group/mongodb-user/t/d81a4c77c9a512f2?utm_source=digest&utm_medium=email>
majeed said <majeed.said@xxxxxxxxx>: Apr 20 06:16AM -0700

Hi,

how can i get using java the collection "$cmd.sys.inprog"

when i run the following :
mongodClient.getDatabase("admin").getCollection("$cmd.sys.inprog").find(new

Document("op", "command"));

got the following exception:

com.mongodb.MongoQueryException: Query failed with error code 73 and error
message 'Invalid collection name: admin.$cmd.sys.inprog' on server
**********.com:27017


why its invalid since i can run successfully the following command with
results:

mongodClient.getDatabase("admin").runCommand(new Document("currentOp",
Boolean.TRUE));


please advise.

Regards,
Majeeed
Back to top <#m_501975466342550386_digest_top>
$mod rounding to integer
<http://groups.google.com/group/mongodb-user/t/3e7e0b9f0d9170fc?utm_source=digest&utm_medium=email>
"Szaniszlo Szöke" <szoke.szaniszlo@xxxxxxxxx>: Apr 20 05:54AM -0700

Hi,

Testing function mod() with MongoDB, I found that the field value is
rounded to an integer.
Searching field d1 this way :
{d1: {$mod: [5, 3.5]} }

returns both records with d1 = 13.5 and d1 = 3
For example, MySql returns only d1 = 13.5

This rounding effect could be added to the documentation of the mod()
function, or maybe mod() could deal with double values...

Thanks
Back to top <#m_501975466342550386_digest_top>
Accessing MongoDB from PySpark 1.6
<http://groups.google.com/group/mongodb-user/t/a75f92df84046d5e?utm_source=digest&utm_medium=email>
Raghu <raghugvt@xxxxxxxxx>: Apr 20 04:08AM -0700

Currently I am able to access MongoDB from PySpark 1.5 using Mongo-Hadoop
r1.5.2 version. Is it possible to access mongodb from PySpark 1.6? Using
Mongo-Hadoop r1.5.2 version I could not able to connect. Please help.
Back to top <#m_501975466342550386_digest_top>
Agreggation in Mongo Data API ...
<http://groups.google.com/group/mongodb-user/t/ef4f351ee732087b?utm_source=digest&utm_medium=email>
Oscar themacboy <themacboy72@xxxxxxxxx>: Apr 20 03:02AM -0700

Oh! Im working in Google App Script, and there is no driver to use it.

Now started learning Java and MongoDB java driver.


Thx !

El dimarts, 9 febrer de 2016 10:40:36 UTC+1, Oscar themacboy va escriure:
Back to top <#m_501975466342550386_digest_top>
BSON to JSON conversion using official mongo db Scala driver
<http://groups.google.com/group/mongodb-user/t/723a420a9e4075a1?utm_source=digest&utm_medium=email>
Dima Polsky <dima.polsky@xxxxxxxxx>: Apr 20 01:56AM -0700

Hi all,

We are trying to move to the official mongo db scala driver from reactive
mongo. All our objects already have serialization using Play Json and
reactive mongo had conversion between that and bson. Has anyone done
anything similar for the official driver ? I know it uses plain java bson
but I haven't seen any good conversion libs.

Appreciate any response
Thanks
Back to top <#m_501975466342550386_digest_top>
How to use a result from an aggregation query
<http://groups.google.com/group/mongodb-user/t/e91ac6c35e0806a5?utm_source=digest&utm_medium=email>
"Jürgen Stolz" <mywwwuser@xxxxxxxxx>: Apr 20 02:28AM -0700

Hi,

perhaps someone could give me an hint.

This is my (working) query

db.tourMetaDataArchive.aggregate([
{$match : {'tour.stops.locationId':'12'}},
{$unwind : '$tour.stops'},
{$match : {'tour.stops.locationId':'12'} },
{$unwind : '$scheduleInfo.stopSchedules'},
{$match : {'scheduleInfo.stopSchedules.decryptedCustomerStopSCEMID' :
'41Q2Q9SNFR'} }
])


My problem is the hardcoded parameter ('41Q2Q9SNFR') in the last $match,
here I want to use the content ('tour.stops.scemid) I received from the
second $match ( {$match : {'tour.stops.locationId':'12'} },) .


How could I use parts of the result from this step?


Best wishes

Jürgen


Query and result

db.tourMetaDataArchive.aggregate([
{$match : {'tour.stops.locationId':'12'}},
{$unwind : '$tour.stops'},
{$match : {'tour.stops.locationId':'12'} }
])


Result
{ "_id" : ObjectId("56b385d50cb39c7538b23aa6"), "tourMetaData" : {
"emCreateTime" : "04.02.2016 16:22:57", "tourStartTime" :
"0001-01-01T00:00:00.0000000+00:00", "referenceTime" :
"0001-01-01T00:00:00.0000000+00:00", "restStart" :
"0001-01-01T00:00:00.0000000+00:00", "restFinish" :
"0001-01-01T00:00:00.0000000+00:00", "breakStart" :
"0001-01-01T00:00:00.0000000+00:00", "breakFinish" :
"0001-01-01T00:00:00.0000000+00:00", "drivenSinceLastBreak" : 0,
"zeroTimeAccountRefTime" : "0001-01-01T00:00:00.0000000+00:00",
"drivenSinceLastRest" : 0, "currentIdlePeriod" : 0, "isSplitBreak" :
false,
"isSplitRest" : false, "useRaST" : true, "breakTime" : 0,
"lastETACalculation" : "0001-01-01T00:00:00.0000000+00:00", "drivingTime"
:
"0001-01-01T00:00:00.0000000+00:00", "inBreak" : false, "lastDrivingTime"
:
"0001-01-01T00:00:00.0000000+00:00", "maxDistInBreak" : 0, "potViolBreak"
:
false }, "tour" : { "scemid" : "94V82DH1WR", "stops" : { "coordinate" : {
"locationX" : 4.47221, "locationY" : 51.95981 }, "locationId" : "12",
"earliestArrivalTime" : "2016-02-04T10:00:00.0000000+01:00",
"latestDepartureTime" : "2016-02-04T11:00:00.0000000+01:00",
"serviceTimeAtStop" : 0, "useServicePeriodForRecreation" : false,
"weightWhenLeavingStop" : 0, "stopPositionInTour" : 0, "scemid" :
"FXV82DH1WR", "isMongoId" : false, "isUniqueArrayId" : false, "emVersion"
:
"trunk", "source" : "EM-1284", "emCreateTime" :
"2016-02-04T16:22:57.9513565+01:00" }, "vehicle" : { "vehicleProfileID" :
"mg-truck-11.99t_wt" }, "drivers" : [ { "driverDescription" : "" } ],
"customData" : { } }, "tourConfig" : { "etaCalcIntrv" : 360 },
"scheduleInfo" : { "stopSchedules" : [ { "decryptedCustomerStopSCEMID" :
"FXV82DH1WR", "plannedTime" : "2016-02-04T10:00:00.0000000+01:00",
"refRouteResult" : "0001-01-01T00:00:00.0000000+00:00", "lastETAResult" :
"0001-01-01T00:00:00.0000000+00:00", "relatedTime" :
"2016-02-04T18:09:41.7453616+01:00" }, { "decryptedCustomerStopSCEMID" :
"BCV82DH1WR", "plannedTime" : "2016-02-04T12:00:00.0000000+01:00",
"refRouteResult" : "0001-01-01T00:00:00.0000000+00:00", "lastETAResult" :
"0001-01-01T00:00:00.0000000+00:00", "relatedTime" :
"2016-02-04T18:09:41.7453616+01:00" }, { "decryptedCustomerStopSCEMID" :
"48V82DH1WR", "plannedTime" : "2016-02-04T14:00:00.0000000+01:00",
"refRouteResult" : "0001-01-01T00:00:00.0000000+00:00", "lastETAResult" :
"0001-01-01T00:00:00.0000000+00:00", "relatedTime" :
"2016-02-04T18:09:41.7453616+01:00" } ], "etaSource" : "PLANNED_TOUR_ETA"
},
"tourCreatedJournals" : [ { "ts" : "2016-02-04T15:22:58.4197563+00:00",
"journalType" : "TOUR_CREATED", "description" : "Tour created", "entry" :
""
, "tourSCEMID" : "EMV82DH1WR", "scemid" : "ZKV4HESOSO", "isMongoId" :
true,
"isUniqueArrayId" : true, "id" : "539744f9d9614816aaf4a5a2011ad087",
"emVersion" : "trunk", "_Id" : "{ $oid : 56b382f95c232d0130b2f34d }",
"source" : "EM-1284", "emCreateTime" : "2016-02-04T16:23:00.6162079+01:00"
}
], "scemid" : "94V82DH1WR", "isMongoId" : true, "isUniqueArrayId" : false,
"id" : "EMV82DH1WR", "emVersion" : "trunk", "source" : "EM-1284",
"refToken"
: "PTV_DiFe_4NNYLL6YHKR2Q3BQ", "emCreateTime" :
"2016-02-04T17:09:41.7393567Z" }
{ "_id" : ObjectId("56b46fd95c232a266c6421c3"), "tourMetaData" : {
"emCreateTime" : "30.11.2015 10:41:16", "tourStartTime" :
"0001-01-01T00:00:00.0000000+00:00", "referenceTime" :
"0001-01-01T00:00:00.0000000+00:00", "restStart" :
"0001-01-01T00:00:00.0000000+00:00", "restFinish" :
"0001-01-01T00:00:00.0000000+00:00", "breakStart" :
"0001-01-01T00:00:00.0000000+00:00", "breakFinish" :
"0001-01-01T00:00:00.0000000+00:00", "drivenSinceLastBreak" : 0,
"zeroTimeAccountRefTime" : "2015-11-30T08:00:00.0000000+01:00",
"drivenSinceLastRest" : 0, "currentIdlePeriod" : 0, "isSplitBreak" :
false,
"isSplitRest" : false, "useRaST" : true, "breakTime" : 0,
"lastETACalculation" : "0001-01-01T00:00:00.0000000+00:00", "drivingTime"
:
"0001-01-01T00:00:00.0000000+00:00", "inBreak" : false, "lastDrivingTime"
:
"0001-01-01T00:00:00.0000000+00:00", "maxDistInBreak" : 0, "potViolBreak"
:
false }, "tour" : { "scemid" : "SYQ2Q9SNFR", "stops" : { "coordinate" : {
"locationX" : 8.61638888888889, "locationY" : 49.8183333333333 },
"locationId" : "12", "earliestArrivalTime" :
"2015-11-30T08:00:00.0000000+01:00", "latestDepartureTime" :
"2015-11-30T08:00:00.0000000+01:00", "serviceTimeAtStop" : 0,
"useServicePeriodForRecreation" : true, "weightWhenLeavingStop" : 0,
"stopPositionInTour" : 0, "scemid" : "41Q2Q9SNFR", "isMongoId" : false,
"isUniqueArrayId" : false, "emVersion" : "trunk", "source" : "EM-555",
"emCreateTime" : "2015-11-30T10:41:16.5243414+01:00" }, "vehicle" : {
"vehicleProfileID" : "mg-trailer-truck" }, "drivers" : [ {
"driverDescription" : "driver 1", "raSTime" : { "referenceTime" :
"2015-11-30T08:00:00.0000000+01:00", "periodDrivenSinceLastBreak" : 0,
"periodDrivenSinceLastRest" : 0, "currentIdlePeriod" : 0, "isSplitBreak" :
false, "isSplitRest" : false } } ], "customData" : { "user" :
"${customDataUser}", "route" : "1635 - M�rfelden - Hattersheim" } },
"tourConfig" : { "etaCalcIntrv" : 360 }, "scheduleInfo" : {
"stopSchedules"
: [ { "locationId" : "12", "decryptedCustomerStopSCEMID" : "41Q2Q9SNFR",
"plannedTime" : "2015-11-30T08:00:00.0000000+01:00", "refRouteResult" :
"0001-01-01T00:00:00.0000000+00:00", "lastETAResult" :
"0001-01-01T00:00:00.0000000+00:00", "relatedTime" :
"2016-02-05T10:48:09.9336515+01:00" }, { "decryptedCustomerStopSCEMID" :
"8CQ2Q9SNFR", "plannedTime" : "2015-11-30T08:29:20.0000000+01:00",
"refRouteResult" : "0001-01-01T00:00:00.0000000+00:00", "lastETAResult" :
"0001-01-01T00:00:00.0000000+00:00", "relatedTime" :
"2016-02-05T10:48:09.9336515+01:00" }, { "decryptedCustomerStopSCEMID" :
"83Q2Q9SNFR", "plannedTime" : "2015-11-30T08:49:10.0000000+01:00",
"refRouteResult" : "0001-01-01T00:00:00.0000000+00:00", "lastETAResult" :
"0001-01-01T00:00:00.0000000+00:00", "relatedTime" :
"2016-02-05T10:48:09.9336515+01:00" }, { "decryptedCustomerStopSCEMID" :
"URQ2Q9SNFR", "plannedTime" : "2015-11-30T09:12:10.0000000+01:00",
"refRouteResult" : "0001-01-01T00:00:00.0000000+00:00", "lastETAResult" :
"0001-01-01T00:00:00.0000000+00:00", "relatedTime" :
"2016-02-05T10:48:09.9336515+01:00" }, { "decryptedCustomerStopSCEMID" :
"PDQ2Q9SNFR", "plannedTime" : "2015-11-30T10:07:40.0000000+01:00",
"refRouteResult" : "0001-01-01T00:00:00.0000000+00:00", "lastETAResult" :
"0001-01-01T00:00:00.0000000+00:00", "relatedTime" :
"2016-02-05T10:48:09.9336515+01:00" }, { "decryptedCustomerStopSCEMID" :
"Z7Q2Q9SNFR", "plannedTime" : "2015-11-30T10:38:10.0000000+01:00",
"refRouteResult" : "0001-01-01T00:00:00.0000000+00:00", "lastETAResult" :
"0001-01-01T00:00:00.0000000+00:00", "relatedTime" :
"2016-02-05T10:48:09.9336515+01:00" }, { "decryptedCustomerStopSCEMID" :
"3GQ2Q9SNFR", "plannedTime" : "2015-11-30T11:17:30.0000000+01:00",
"refRouteResult" : "0001-01-01T00:00:00.0000000+00:00", "lastETAResult" :
"0001-01-01T00:00:00.0000000+00:00", "relatedTime" :
"2016-02-05T10:48:09.9336515+01:00" }, { "decryptedCustomerStopSCEMID" :
"26Q2Q9SNFR", "plannedTime" : "2015-11-30T12:02:00.0000000+01:00",
"refRouteResult" : "0001-01-01T00:00:00.0000000+00:00", "lastETAResult" :
"0001-01-01T00:00:00.0000000+00:00", "relatedTime" :
"2016-02-05T10:48:09.9336515+01:00" }, { "decryptedCustomerStopSCEMID" :
"A8Q2Q9SNFR", "plannedTime" : "2015-11-30T12:29:40.0000000+01:00",
"refRouteResult" : "0001-01-01T00:00:00.0000000+00:00", "lastETAResult" :
"0001-01-01T00:00:00.0000000+00:00", "relatedTime" :
"2016-02-05T10:48:09.9336515+01:00" }, { "decryptedCustomerStopSCEMID" :
"GSQ2Q9SNFR", "plannedTime" : "2015-11-30T12:53:50.0000000+01:00",
"refRouteResult" : "0001-01-01T00:00:00.0000000+00:00", "lastETAResult" :
"0001-01-01T00:00:00.0000000+00:00", "relatedTime" :
"2016-02-05T10:48:09.9336515+01:00" }, { "decryptedCustomerStopSCEMID" :
"2JQ2Q9SNFR", "plannedTime" : "2015-11-30T13:15:00.0000000+01:00",
"refRouteResult" : "0001-01-01T00:00:00.0000000+00:00", "lastETAResult" :
"0001-01-01T00:00:00.0000000+00:00", "relatedTime" :
"2016-02-05T10:48:09.9336515+01:00" }, { "decryptedCustomerStopSCEMID" :
"N5Q2Q9SNFR", "plannedTime" : "2015-11-30T13:40:00.0000000+01:00",
"refRouteResult" : "0001-01-01T00:00:00.0000000+00:00", "lastETAResult" :
"0001-01-01T00:00:00.0000000+00:00", "relatedTime" :
"2016-02-05T10:48:09.9336515+01:00" }, { "decryptedCustomerStopSCEMID" :
"7YQ2Q9SNFR", "plannedTime" : "2015-11-30T14:06:40.0000000+01:00",
"refRouteResult" : "0001-01-01T00:00:00.0000000+00:00", "lastETAResult" :
"0001-01-01T00:00:00.0000000+00:00", "relatedTime" :
"2016-02-05T10:48:09.9336515+01:00" }, { "decryptedCustomerStopSCEMID" :
"DBQ2Q9SNFR", "plannedTime" : "2015-11-30T14:39:20.0000000+01:00",
"refRouteResult" : "0001-01-01T00:00:00.0000000+00:00", "lastETAResult" :
"0001-01-01T00:00:00.0000000+00:00", "relatedTime" :
"2016-02-05T10:48:09.9336515+01:00" }, { "decryptedCustomerStopSCEMID" :
"PCQ2Q9SNFR", "plannedTime" : "2015-11-30T14:57:30.0000000+01:00",
"refRouteResult" : "0001-01-01T00:00:00.0000000+00:00", "lastETAResult" :
"0001-01-01T00:00:00.0000000+00:00", "relatedTime" :
"2016-02-05T10:48:09.9336515+01:00" }, { "decryptedCustomerStopSCEMID" :
"NJQ2Q9SNFR", "plannedTime" : "2015-11-30T15:35:50.0000000+01:00",
"refRouteResult" : "0001-01-01T00:00:00.0000000+00:00", "lastETAResult" :
"0001-01-01T00:00:00.0000000+00:00", "relatedTime" :
"2016-02-05T10:48:09.9336515+01:00" }, { "decryptedCustomerStopSCEMID" :
"BGQ2Q9SNFR", "plannedTime" : "2015-11-30T17:28:20.0000000+01:00",
"refRouteResult" : "0001-01-01T00:00:00.0000000+00:00", "lastETAResult" :
"0001-01-01T00:00:00.0000000+00:00", "relatedTime" :
"2016-02-05T10:48:09.9336515+01:00" } ], "etaSource" : "PLANNED_TOUR_ETA"
},
"tourCreatedJournals" : [ { "ts" : "2015-11-30T09:41:16.5623446+00:00",
"journalType" : "TOUR_CREATED", "description" : "Tour created", "entry" :
""
, "tourSCEMID" : "EMQ2Q9SNFR", "scemid" : "JYN5ZT2ZW4", "isMongoId" :
true,
"isUniqueArrayId" : true, "id" : "a86632b985d9458c89aea5a300a18b6f",
"emVersion" : "trunk", "_Id" : "{ $oid : 56b1c98c0105212e4cf58462 }",
"source" : "EM-555", "emCreateTime" : "2015-11-30T10:41:21.2146563+01:00"
}
], "tourDeletedJournals" : [ { "ts" : "2015-11-30T09:41:16.6043471+00:00",
"journalType" : "TOUR_DELETED", "description" : "Tour deleted", "entry" :
"API:
Tour delete", "tourSCEMID" : "EMQ2Q9SNFR", "scemid" : "JYN5ZT2ZW4",
"isMongoId" : true, "isUniqueArrayId" : true, "id" :
"8817ba24124945ceb6dfa5a300a18b6f", "emVersion" : "trunk", "_Id" : "{ $oid
: 56b1c98c0105212e4cf58461 }", "source" : "EM-555", "emCreateTime" :
"2015-11-30T10:41:16.7353545+01:00" } ], "scemid" : "SYQ2Q9SNFR",
"isMongoId" : true, "isUniqueArrayId" : false, "id" : "EMQ2Q9SNFR",
"emVersion" : "trunk", "source" : "EM-555", "refToken" :
"L5651TJ2G1JTYDN5DVEK3MCRK", "emCreateTime" :
"2016-02-05T09:48:09.9306314Z"
}
Back to top <#m_501975466342550386_digest_top>
GridFS C# stream videos on Webpage
<http://groups.google.com/group/mongodb-user/t/8588adb6fca2fc08?utm_source=digest&utm_medium=email>
Kevin Adistambha <kevinadi@xxxxxxxxxxx>: Apr 20 12:48AM -0700

Hi Sunil,

Can i stream videos from MongoDB (in GridFS) onto my webpage?

GridFS is a convention to store files larger than 16 MB
<https://docs.mongodb.org/manual/core/gridfs/#when-to-use-gridfs> in
MongoDB, and any interpretation of the contents of the stored files is
left
to the application.

The C# driver allows you to read files in GridFS as a stream
<
http://api.mongodb.org/csharp/current/html/T_MongoDB_Driver_GridFS_GridFSDownloadStream.htm>

(with more examples in the Downloading Files
<
http://mongodb.github.io/mongo-csharp-driver/2.2/reference/gridfs/downloadingfiles/>

page), but your application code has to handle other parts of the
streaming
and playback mechanism, such as:

- buffering
- reassembling the video packets at the receiver
- seek capabilities, if needed
- etc.

You might find more information regarding GridFS in the following pages:

- MongoDB manual: GridFS <https://docs.mongodb.org/manual/core/gridfs/>
- C# Driver GridFS section
<http://mongodb.github.io/mongo-csharp-driver/2.2/reference/gridfs/>

Best regards,
Kevin
Back to top <#m_501975466342550386_digest_top>
Time Series and Sensor Data
<http://groups.google.com/group/mongodb-user/t/47f81a9fd8b03307?utm_source=digest&utm_medium=email>
Kevin Adistambha <kevinadi@xxxxxxxxxxx>: Apr 20 12:46AM -0700

Hi Guy,


1. The examples given on e.g.

http://blog.mongodb.org/post/65517193370/schema-design-for-time-series-data-in-mongodb
show storing data for every second. Is the same approach/principle valid
when the requirements are to store sensor data e.g. every 15 minutes or
every hour? So e.g. in these cases storing data for 24 hours in 1
document?

Please note that the blog post was written two years ago, and so may
contain outdated technical details. For example, the in-place update
mentioned in the blog post (under “More Updates than Inserts” heading) is
only valid for the MMAPv1 storage engine
<https://docs.mongodb.org/manual/core/mmapv1/>, and less relevant to the
WiredTiger
engine <https://docs.mongodb.org/manual/core/wiredtiger/>.

If your use case closely follows the case in the blog post, then the
approach is still valid even if you need to store different time span. The
time span involved in designing a time-series solution is highly dependent
on what you need to do with the data you collected. The blog post solution
assumes that you need to see a summary of data for every minute, but also
need to store the detailed information every second.


1. Some sensors can sense at the same time different ‘things’ e.g.
temperature and humidity. Is it best to store the temperature and humidity
data in 2 separate documents in the same collection (or both
readings/values in the same document)? Additionally, it is possible the
time intervals for reading the values of temperature and humidity can be
different.

It depends on how you want to use the data. If the temperature and
humidity
measurements are:

- frequently used together, and
- collected at the same time interval (e.g. every second), and
- need to be summarized within the same timeframe (e.g. every minute)

then you could combine the two in a single document, for example:

{
timestamp: <timestamp>,
temperature: {0:23, 1:23.5, 2:23.6, ...}
humidity: {0:70, 1:70, 2:70, ...}
}

However, if temperature and humidity are:

- not frequently used together, or
- collected at different time intervals (e.g. every second for
temperature, every minute for humidity), or
- need to be summarized at different timeframe (e.g. every hour for
temperature, every day for humidity)

then storing temperature and humidity in two different documents may be a
better fit.

Flexibility is also important: to have the possibility to easily add other
sensor types (e.g. for pH, etc).

MongoDB stores data in a flexible schema, so you can easily add more
measurements in your documents.

Other resources regarding schema design that you may find useful are:

- Data Models <https://docs.mongodb.org/manual/data-modeling/>
- 6 Rules of Thumb for MongoDB Schema Design
<
http://blog.mongodb.org/post/87200945828/6-rules-of-thumb-for-mongodb-schema-design-part-1

.

Best regards,
Kevin
Back to top <#m_501975466342550386_digest_top>
flushing mmaps after unclean restart
<http://groups.google.com/group/mongodb-user/t/9908158a23641f20?utm_source=digest&utm_medium=email>
Kevin Adistambha <kevinadi@xxxxxxxxxxx>: Apr 20 12:43AM -0700

Hi Dan,

We had an unexpected shutdown of our mongodb database due to hardware
failure.

What is the nature of the hardware failure? Was it repaired when the
mongod
process restarts?

Also, could you provide more information regarding your deployment, such
as:

- the operating system and its version
- whether the /data directory mounted locally or remotely (e.g. as an
NFS)
- the filesystem and mount options of the /data directory; e.g. the
output of the mount command in Linux
- are there any other process running on the machine other than a single
mongod (e.g. another database server, web server, or another mongod
process)

Sun Apr 10 07:29:18.096 [DataFileSync] flushing mmaps took 766522ms for
134
files

MongoDB flushes the data that changes in memory to disk using a background
thread every 60 seconds. mmaps means the MMAPv1 storage engine. It is
abnormal for the flushes to take that long (12 minutes in the log above).

There are three items in your log that are worth a closer look:

The first item is:

Sat Apr 9 12:33:30.130 [initandlisten] ** WARNING: You are running on a
NUMA machine.

which seems to indicate that you are running on a NUMA hardware. We
recommend disabling NUMA since leaving it active could lead to performance
issues. Please see MongoDB and NUMA Hardware
<
https://docs.mongodb.org/v2.4/administration/production-notes/#mongodb-and-numa-hardware>

for more information.

The second item is:

Sat Apr 9 12:33:30.130 [initandlisten] ** WARNING: Readahead for
/data/db_convnet_repair is set to 1024KB

this indicates that your readahead setting is set too high. You might want
to lower the readahead setting of your block device.

The third item is:

Sat Apr 9 12:33:30.130 [initandlisten] db version v2.4.6

I recommend upgrading to the latest version in the 2.4.x series for
bugfixes and improvements, which currently is at 2.4.14
<https://docs.mongodb.org/manual/release-notes/2.4/#april-28-2015>.

For MongoDB performance tuning, you may find the Version 2.4 Production
Notes
<
https://docs.mongodb.org/v2.4/administration/production-notes/#production-notes>

helpful.

Best regards,
Kevin
Back to top <#m_501975466342550386_digest_top>
mongo rebalancer failing.
<http://groups.google.com/group/mongodb-user/t/34f586ef23e33f35?utm_source=digest&utm_medium=email>
Kevin Adistambha <kevinadi@xxxxxxxxxxx>: Apr 20 12:41AM -0700

Hi Saurabh.

I am getting Failed with error ‘chunk too big to move’, from rs3 to rs2

The error “chunk too big to move” is due to MongoDB balancer being unable
to move a chunk from one shard to another. There are two possible reasons
that could cause this error:

- The chunk is larger than the specified chunk size
<
https://docs.mongodb.org/manual/core/sharding-chunk-splitting/#sharding-chunk-size>

which is 64 MB by default, and cannot be split into smaller chunks.
- There are more than 250,000 documents
<
https://docs.mongodb.org/manual/reference/limits/#Maximum-Number-of-Documents-Per-Chunk-to-Migrate>

in a chunk.

If MongoDB cannot split a chunk, it will be marked as “jumbo”
<
https://docs.mongodb.org/manual/core/sharding-chunk-migration/#jumbo-chunks>.

You may see these jumbo-marked chunks in the output of
sh.status({verbose:true}).

The main reason for “chunk too big to move” error is sub-optimal selection
of the shard key, where it’s either:

1. has a low cardinality
<https://docs.mongodb.org/manual/tutorial/choose-a-shard-key/#cardinality>,

or
2. has a non-equal distribution.

From the following two lines in your sh.status() output. In your case, I
believe it’s due to the second reason:

shard key: { “ip” : 1 }

shard key: { “src_ip” : 1 }

If your application logs IP data in MongoDB, and some ip or src_ip are
more
common than others, you will create a large chunk that cannot be split.
E.g., if you record a client’s IP address every time the client connects
to
you, then after 250,000 connections, the chunk that contains the client’s
IP address now contains too many documents to be split.

Unfortunately once you select a shard key, it is immutable. There is no
easy fix for this issue, other than dumping the collection and reload them
with another shard key.

For topics concerning shard key selection, you might find this links
informative: Considerations for Selecting Shard Keys
<https://docs.mongodb.org/manual/tutorial/choose-a-shard-key/>.

Also it is worth mentioning for your case that a shard key like {"ip":
"hashed"} does *not* solve the problem of cardinality, since the same IP
address will be hashed to the same value and thus does not increase your
key space at all.

I also would like to point out the following two lines from your
sh.status()
output:

4148 : Failed with error ‘data transfer error’, from rs3 to rs2

1521 : Failed with error ‘data transfer error’, from rs3 to rs1

There may be connectivity issues between rs3 to other shards in the
cluster, since the balancer tries to move chunks out of shard rs3 and
failed so many times due to data transfer error.

Best regards,
Kevin
Back to top <#m_501975466342550386_digest_top>
Hoping for a lifeline, newbie disappointed and ready to entirely give up
on MongoDB
<http://groups.google.com/group/mongodb-user/t/e361c1fc4f5380f8?utm_source=digest&utm_medium=email>
Kevin Adistambha <kevinadi@xxxxxxxxxxx>: Apr 20 12:38AM -0700

Hi Jeff,

The database called SR’s collection called EmailUs stores webmail from
users. Stored data include messages from users ands replies from our
staff,
so in addition to email-message date and sender’s email address, a
composite key is included to group each email in the thread, composed of
the sender’s email address and a 64-bit integer (representing milliseconds
since Jan 1 1970) taken from their first email in the grouping. Thus the
system should be able to retrieve all emails belonging to a specific
thread, ordered by date sent and, marked as either originating from the
user or from staff.

Is my understanding correct that you wanted to query data from a MongoDB
server using a SQL Server stored procedure written in C#
<https://msdn.microsoft.com/en-au/library/5czye81z(v=vs.100).aspx>?

1) My preferred method: Read data SYNCHRONOUSLY (not sure how) from CLR
SQL
assemblies developed in Visual Studio 2012, and integrate with data from
Sql Server

You may find some examples in the Quick Tour
<
http://mongodb.github.io/mongo-csharp-driver/2.2/getting_started/quick_tour/>

page under the heading “Query the Collection”. There are examples for
querying a collection using synchronous and asynchronous methods.

2) Not my obvious choice: Read data from C# code on IIS 7.5 web server,
developed in Visual Studio 2008 (.Net v.2.0), and integrate with records
retrieved from Sql Server sproc

Please note that .NET 2.0 is not supported by MongoDB C# driver
<
https://docs.mongodb.org/ecosystem/drivers/csharp/#net-language-compatibility>.

The lowest .NET version supported by the C# driver is .NET 3.5, and the
latest C# driver requires .NET version 4.5.

An alternative solution could be using a REST-style API layer in front of
the MongoDB server, and perform queries on the MongoDB database using REST
instead of using a driver. Examples of REST interfaces can be found in the
HTTP
Interface <https://docs.mongodb.org/ecosystem/tools/http-interfaces/>
page.

Regarding your issues:

1) NuGet will not reference MongoDB drivers in CLR SQL assemblies in
Visual
Studio 2012

I believe Nuget is not supported for CLR SQL assembly. You would have to
add the dll files manually in the project.

2) I find legacy drivers documentation very confusing

Please let us know which page you find confusing, as there may be room for
improvements in the documentation.

3) I prefer to retrieve all records as a JSON array in a string variable,
and without MongoDB’s “id” field, as it will need to be removed.

You can find an example in the Quick Tour
<
http://mongodb.github.io/mongo-csharp-driver/2.2/getting_started/quick_tour/>

page, under the section labeled *Projecting Fields* . The example
describes
how to exclude the _id field from query result.

4) Note from the attached image, a problem exists with the two await
statements. I wonder if changing to a synchronous read will resolve the
issue.

As mentioned in the await
<https://msdn.microsoft.com/en-us/library/hh156528.aspx> reference page:
“The asynchronous method in which await is used must be modified by the
async keyword”. I.e., the ViewThread method must be changed to public
static async <return type> ViewThread(...). You can find some synchronous
and asynchronous query examples in the Quick Tour
<
http://mongodb.github.io/mongo-csharp-driver/2.2/getting_started/quick_tour/>

page that you can follow.

You may find these links useful for your case:

- C# Driver MongoDB Compatibility
<
https://docs.mongodb.org/ecosystem/drivers/csharp/#net-language-compatibility>

- Asynchronous Programming with Async and Await (C# and Visual Basic)
<https://msdn.microsoft.com/en-us/library/hh191443.aspx>
- Exporting JSON using the C# driver
<http://mongodb.github.io/mongo-csharp-driver/2.2/examples/exporting_json/>

- Getting Started with MongoDB (C# Edition)
<https://docs.mongodb.org/getting-started/csharp/>
- Community Articles regarding MongoDB and .NET
<https://docs.mongodb.org/ecosystem/drivers/csharp/#community-articles>

If you have time, I would recommend you to enroll in the M101N: MongoDB
for
.NET Developers
<
https://university.mongodb.com/courses/M101N/about?jmp=docs&_ga=1.30489087.1577809586.1451437005>

online course for an in-depth introduction to MongoDB and the C# driver.
It
is a free course, and the next one will start at May 24 2016.

Best regards,
Kevin
Back to top <#m_501975466342550386_digest_top>
How to invoke Mongodb DLL invoked from Sql Server or work arounds
<http://groups.google.com/group/mongodb-user/t/b94d723ae8f92c0c?utm_source=digest&utm_medium=email>
Kevin Adistambha <kevinadi@xxxxxxxxxxx>: Apr 20 12:36AM -0700

Hi

From a c# code in sql server. I would like to invoke mongo library calls
to
read a collection. I’ve built a prototype outside of the sql server env.

Could you clarify what you mean by “C# code in SQL server”? Are you trying
to create a stored procedure in SQL Server using C#
<https://msdn.microsoft.com/en-au/library/5czye81z(v=vs.100).aspx>?

Upon trying to build the code in sql server I see I can not obtain any
references from Nuget for MongoDB, it is blocked.

I believe Nuget is not supported for SQL CLR projects. You would need to
add the dll manually into the project. Please see Supported .NET Framework
Libraries <https://msdn.microsoft.com/en-us/library/ms403279.aspx> under
the heading “Unsupported Libraries” for more information.

Does anyone have any experience on how to get a sql server proc
communicate
with mongodb to read collection async?

You may find some examples using synchronous and asynchronous methods in
the Quick Tour
<
http://mongodb.github.io/mongo-csharp-driver/2.2/getting_started/quick_tour/>

section in the MongoDB .NET Driver page. Also, please consult the C#
driver
compatibility matrix
<
https://docs.mongodb.org/ecosystem/drivers/driver-compatibility-reference/#reference-compatibility-language-csharp>,

to ensure you are running the C# driver with the correct .NET version
associated with your SQL Server 2012. For example, .NET 4.0 will require
an
older version of the C# driver (1.11).

Best regards,
Kevin
Back to top <#m_501975466342550386_digest_top>
mongocxx 3.x insert will throw exception when duplicate key found
<http://groups.google.com/group/mongodb-user/t/9293fae6850bd4d0?utm_source=digest&utm_medium=email>
li ning <li.ning.cd@xxxxxxxxx>: Apr 19 11:59PM -0700

Not way to disable exception? Why not set error code in return value? Even
the return type is a dedicated type "result"?
Back to top <#m_501975466342550386_digest_top>
Need help setting up filters for logstash for Mongo 3.0
<http://groups.google.com/group/mongodb-user/t/7494253e97631634?utm_source=digest&utm_medium=email>
Wan Bachtiar <wan.bachtiar@xxxxxxxxxxx>: Apr 19 11:34PM -0700

Did anyone set up the filters for logstash to parse logs for mongo 3?

Hi,

It’s been a while since you posted the question, have you found a solution
for this ?

I ran a quick test for this on latest Logstash currently v2.3.1
<
https://www.elastic.co/guide/en/logstash/current/package-repositories.html>

and latest MongoDB currently v3.2.5
<https://www.mongodb.org/downloads#production>, and found that logstash
already has support for MongoDB log v3+ format.

An example conf file:

input {
file {
path => "/path/to/mongodb.log"
}
}
filter {
grok {
match => [ "message", "%{MONGO3_LOG}"]
}
}

Should be able to capture common log fields such as timestamp, severity,
components, etc. For example:

{
"message" => [
[0] "2016-04-20T16:02:34.328+1000 I COMMAND [conn3] command test.$cmd
command: isMaster { isMaster: 1.0 } keyUpdates:0 writeConflicts:0
numYields:0 reslen:163 locks:{} protocol:op_command 0ms",
[1] "command test.$cmd command: isMaster { isMaster: 1.0 } keyUpdates:0
writeConflicts:0 numYields:0 reslen:163 locks:{} protocol:op_command 0ms"
],
"@version" => "1",
"@timestamp" => "2016-04-20T06:02:35.213Z",
"path" => "/path/to/mongodb.log",
"host" => "hostname01",
"timestamp" => "2016-04-20T16:02:34.328+1000",
"severity" => "I",
"component" => "COMMAND",
"context" => "conn3"
}

For more patterns spec see logstash-patterns-core: mongodb_spec.rb
<
https://github.com/logstash-plugins/logstash-patterns-core/blob/master/spec/patterns/mongodb_spec.rb


If you have further questions on logstash, you may get faster responses by
posting a question on logstash forum <
https://discuss.elastic.co/c/logstash>.
See also Logstash Help
<https://github.com/logstash-plugins/logstash-patterns-core#need-help>.

Best regards,

Wan.
Wan Bachtiar <wan.bachtiar@xxxxxxxxxxx>: Apr 19 11:33PM -0700

Did anyone set up the filters for logstash to parse logs for mongo 3?

Hi,

It’s been a while since you posted the question, have you found a solution
for this ?

I ran a quick test for this on latest Logstash currently v2.3.1
<
https://www.elastic.co/guide/en/logstash/current/package-repositories.html>

and latest MongoDB currently v3.2.5
<https://www.mongodb.org/downloads#production>, and found that logstash
already has support for MongoDB log v3+ format.

An example conf file:

input {
file {
path => "/path/to/mongodb.log"
}
}
filter {
grok {
match => [ "message", "%{MONGO3_LOG}"]
}
}

Should be able to capture common log fields such as timestamp, severity,
components, etc. For example:

{
"message" => [
[0] "2016-04-20T16:02:34.328+1000 I COMMAND [conn3] command test.$cmd
command: isMaster { isMaster: 1.0 } keyUpdates:0 writeConflicts:0
numYields:0 reslen:163 locks:{} protocol:op_command 0ms",
[1] "command test.$cmd command: isMaster { isMaster: 1.0 } keyUpdates:0
writeConflicts:0 numYields:0 reslen:163 locks:{} protocol:op_command 0ms"
],
"@version" => "1",
"@timestamp" => "2016-04-20T06:02:35.213Z",
"path" => "/path/to/mongodb.log",
"host" => "hostname01",
"timestamp" => "2016-04-20T16:02:34.328+1000",
"severity" => "I",
"component" => "COMMAND",
"context" => "conn3"
}

For more patterns spec see logstash-patterns-core: mongodb_spec.rb
<
https://github.com/logstash-plugins/logstash-patterns-core/blob/master/spec/patterns/mongodb_spec.rb


If you have further questions on logstash, you may get faster responses by
posting a question on logstash forum <
https://discuss.elastic.co/c/logstash>.
See also Logstash Help
<https://github.com/logstash-plugins/logstash-patterns-core#need-help>.

Best regards,

Wan.
Back to top <#m_501975466342550386_digest_top>
Why does MongoDB (Version 3.2) creates two connections instead of one?
<http://groups.google.com/group/mongodb-user/t/24c39e3af2830c31?utm_source=digest&utm_medium=email>
Mayank Jain <firesofmay@xxxxxxxxx>: Apr 19 10:27PM -0700

Thanks :)

On Friday, April 15, 2016 at 3:42:12 AM UTC+5:30, Jason Carey wrote:
Back to top <#m_501975466342550386_digest_top>
MongoDB Hadoop Connector Set-up
<http://groups.google.com/group/mongodb-user/t/49fad2fc077497f6?utm_source=digest&utm_medium=email>
Jon <eubankjon415@xxxxxxxxx>: Apr 19 07:09PM -0700

Thanks so much for the links! Will try all of this out asap!

On Monday, April 18, 2016 at 2:41:57 PM UTC-4, Luke Lovett wrote:
Back to top <#m_501975466342550386_digest_top>
Pymongo no_cursor_timeout ignored
<http://groups.google.com/group/mongodb-user/t/13951643f0afb35d?utm_source=digest&utm_medium=email>
Bernie Hackett <bernie@xxxxxxxxx>: Apr 19 04:31PM -0700

Aside from Gevent and Tornado being very different beasts, they will both
get you asynchronous IO. Gevent can be used directly with PyMongo (we test
this combination in CI, along with Eventlet), whereas Tornado requires
Motor.

http://api.mongodb.org/python/current/examples/gevent.html

On Tuesday, April 19, 2016 at 4:24:50 AM UTC-7, a_l wrote:
Back to top <#m_501975466342550386_digest_top>
You received this digest because you're subscribed to updates for this
group. You can change your settings on the group membership page
<https://groups.google.com/forum/?utm_source=digest&utm_medium=email#!forum/mongodb-user/join>
.
To unsubscribe from this group and stop receiving emails from it send an
email to mongodb-user+unsubscribe@xxxxxxxxxxxxxxxx.




-- 

Shlok M

Real Estate Broker Services in Real Time

@Nexchanges


skype id: shlok.m

-- 
You received this message because you are subscribed to the Google Groups "mongodb-user"
group.

For other MongoDB technical support options, see: https://docs.mongodb.org/manual/support/
--- 
You received this message because you are subscribed to the Google Groups "mongodb-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mongodb-user+unsubscribe@xxxxxxxxxxxxxxxx.
To post to this group, send email to mongodb-user@xxxxxxxxxxxxxxxx.
Visit this group at https://groups.google.com/group/mongodb-user.
To view this discussion on the web visit https://groups.google.com/d/msgid/mongodb-user/CAKsc%3De8Ezg1%2BXWQv1pRDfy6cYdj32n%3D-gg1if5NqyiRv%3D-nSmg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
Why ads?