Re: Hoping for a lifeline, newbie disappointed and ready to entirely give up on MongoDB

From: Kevin Adistambha <kevinadi@xxxxxxxxxxx>
To: mongodb-user <mongodb-user@xxxxxxxxxxxxxxxx>
Date: Wed, 20 Apr 2016 00:38:47 -0700 (PDT)
Why ads?


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


-- 
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/72c083d2-f479-434a-9f87-91fc2b7475c3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Why ads?