I am a little confused with the Mongodb offical support of Linq. Does it officially support it? I relaize there is NoRM out there but it seems like that it uses an outdated driver and project is abandon. Is this correct? What is current status of Linq support for Mongodb and what its performance like?
From what I know, the official MongoDB C# driver is currently having LINQ capability added to it. There have been several LINQ related additions made at the driver's GitHub site in the last few weeks. You can also see the change log and planning for the driver at it's Jira site. It hasn't been "released" yet, but you can take it out for a spin by getting the latest code from GitHub.
Up to now, I have had a good experience (performance and functionality-wise) using another open-source library called FluentMongo. See it's GitHub site. It is a LINQ extension library built to sit on top of the official C# driver. It is maintained by Craig Wilson, who is also involved in the official C# driver development. It is actively maintained and I know Craig has been giving feedback to the LINQ implementation in the official driver.
Hope this helps.
The C# driver will officially support LINQ in the next release (1.4).
yes the c# driver supports linq in most scenarios as of april 2019.
i'm using a MongoDAL to make life easier.
check the readme file to get things going quickly.
Related
I am working on designing a workflow with the intention of using cadence workflow engine and Java client. Seems like uber is actively using Go, and thus Go has better documentation and Activity and other classes than Java Client. Is this true?
No, it is not really true. The majority of the open source users of Cadence and Temporal are using Java SDK.
If you go the the java-client channel in Cadence slack, the community has more discussion than go-client. Even in Uber, Java-client is heavily used by core services like payments.
Go client happens to have more docs/samples because it started a little earlier. In fact, the docs that are missing in Java, could be derived from Go. It should be noted that there are more documents in Java library. For example, the documents of how to write unit tests, instead of putting in to cadenceworkflow.io, we put in
javadocs directly. Because this is the convention for Java developer to lookup documentation.
IMO they are the same important for Cadence. All the new features are implemented/rolling out at the same time hence they don't have real difference.
The new aggregation framework will come with the 2.2 version.
They made some presentations and demos on that :
http://www.10gen.com/presentations/mongosv-2011/mongodbs-new-aggregation-framework
I does not found any development release on their site.
Does someone knows where I can test the new framework ?
Thanks
You can download and install the development version 2.1, it is inside (and currently under development).
http://www.mongodb.org/downloads
But (at this stage) it is still a bit "young" (see for example a recent thread http://groups.google.com/group/mongodb-user/browse_thread/thread/3de5df85ce5b3713).
MongoDB uses the standard “odd numbers are development, even are stable” versioning scheme. So the 2.1.x series is still under development, and you should probably wait until the release of 2.2.x to use this feature in production unless you fully understand what you’re doing.
I am looking for it as well. :-)
i've been developing a asp mvc website for almost a year now exclusively on mongodb. i've loved it for the most part. development productivity has been great using a C# mongodb driver and tools like mongovue.
however, i've started to reach a point where there are things i really wish i had a SQL server database for. simple tasks like updating a record in the DB and only mildly complex queries to generate some type of report are becoming a pain.
i read an article somewhere that in order for NOSSQL to succeed there needs to be a standard query language for it, and tools developed around it. i'm guessing this is far far away, so right now i'm stuck trying to deal with these things.
i think eventually i will have to have a dual solution with monogDB and sql server. i don't think i will ever get to the point where i am as productive updating and writing queries for mongoDB as i was with sql server.
how are you guys dealing with this when using NOSQL like mongodb? are you facing the same issues as me?
One solution you may consider is LINQPad. You can set up a template with a reference to 10Gen's drivers and write ad-hoc, C# MongoDB queries like you would in your code. My team and I use this method to address the very problem you mention.
Try it out (it's free) and see if it can help with the simple, day-to-day queries you come up with.
Edit I also support Chris's suggestion of familiarizing yourself with the native JSON query language. Nothing beats a quick console window for speed, if you know the syntax.
The official C# driver will probably get a LINQ provider some time in the future, so that'd give .NET devs a familiar syntax for querying and maybe help with initial productivity. There're also some nice docs that help relate MongoDB queries back to SQL:
SQL to Mongo Mapping Chart
SQL to MongoDB (PDF)
These are great for learning, but to get the most out of Mongo it's well worth investing time getting used to the native JSON query syntax and Mongo-specific concepts like map-reduce.
Since your questions asks,
how are you guys dealing with this when using NOSQL like mongodb?
I thought I'd chime in. I felt your pain when working with another NOSQL database, RavenDB.
I wrote a Linqpad driver specifically for ad hoc interactions with RavenDB.
https://github.com/ronnieoverby/RavenDB-Linqpad-Driver
I wonder if the ruby driver for MongoDB is using the native javascript driver, or is it using c++ directly?
According to the MongoDB language center, the Ruby driver is hosted here.
All of the code in the /lib/ folder appears to be Ruby code. This kind of makes sense, as you probably want the driver to work on the various Ruby interpreters and therefore want it all in pure Ruby.
If you want specific details, I would talk to Kyle Banker directly. He's the maintainer of the Ruby drivers and likely knows the specific details. If you don't use github, the other way to contact him is via the Google Group, where he answers questions regularly.
I have stumbled upon Mongoid which has great documentation: http://mongoid.org/docs/associations/
But I have heard that MongomMapper is de-facto for Rails.
Where do I find API documentation for using Mongomapper?
The standard answer from the author of MongoMapper is that the project is still young and that the API is still in flux. Download the latest version from Git and look at the tests. You should be able to get a fair idea of what is possible.
It's up on rdoc.info now: http://rdoc.info/github/jnunemaker/mongomapper
MongoMapper now has documentation on http://mongomapper.com