MongoDB Go Driver tutorial

 3r33535. 3r3-31. 3r33535. Good news! Official go driver for mongoDB released in beta. After some thought, I decided to translate 3r335. Article 3-33547. from the official mongoDB site instead of writing the material yourself. Here is what will happen in this tutorial: 3r3-3550. 3r33548.  3r33535.
 3r33535.
Installing mongo-go-driver
 3r33535.
Connect to mongoDB using mongo-go-driver
 3r33535.
Using BSON facilities
 3r33535.
Using CRUD methods
 3r33535. MongoDB Go Driver tutorial Lookup () 3r33547. . 3r33550. 3r33548.  3r33535. 3r33535. This can be useful when you need to get rid of the extra load when converting BSON to another type. In this tutorial only the family of types D will be used. 3r33550. 3r33548.  3r33535.
Using CRUD methods 3r33528. 3r33548.  3r33535. 3r33535. After successfully connecting to the database, we can begin to add and modify data in our collection. Type 3r33512. Collection
contains methods that allow you to send requests to the database. 3r33550. 3r33548.  3r33535. 3r33300. Insert (create) documents 3r3502. 3r33548.  3r33535. 3r33535. First you need to create a few new structures 3r3512. Trainer
for insertion into the database: 3r33550. 3r33548.  3r33535. 3r? 3517. 3r33518. ash: = Trainer {"Ash", 1? "Pallet Town"}
misty: = Trainer {"Misty", 1? "Cerulean City"}
brock: = Trainer {"Brock", 1? "Pewter City"} 3r33524. 3r33548.  3r33535. 3r33535. To add a single document, use the method 3r33512. collection.InsertOne () 3r3353513. : 3r350 3r33548.  3r33535. 3r? 3517. 3r33518. insertResult, err: = collection.InsertOne (context.TODO (), ash)
if err! = nil {3r3353564. log.Fatal (err) 3r3353564.} 3r33535. 3r33535. fmt.Println ("Inserted a single document:", insertResult.InsertedID) 3r33524. 3r33548.  3r33535. 3r33535. To insert multiple documents at the same time there is a method 3r33512. collection.InsertMany () 3r3353513. : 3r350 3r33548.  3r33535. 3r? 3517. 3r33518. trainers: =[]interface {} {misty, brock} 3r3353564. 3r33535. insertManyResult, err: = collection.InsertMany (context.TODO (), trainers)
if err! = nil {3r3353564. log.Fatal (err) 3r3353564.} 3r33535. 3r33535. fmt.Println ("Inserted multiple documents:", insertManyResult.InsertedIDs) 3r3353523. 3r33524. 3r33548.  3r33535. 3r33354. Updating documents 3r3502. 3r33548.  3r33535. 3r33535. Method 3r33512. collection.UpdateOne () 3r3353513. allows you to update a single document. You need to create a filter to search for a document in the database and a document for the update operation. You can create them using types
bson.D
: 3r350 3r33548.  3r33535. 3r? 3517. 3r33518. filter: = bson.D {{"name", "Ash"}}
3r33535. update: = bson.D {
{"$ inc", bson.D {3r3353564. {"age", 1}, 3r33535.}, 3r36464.} 3r33535. 3r33524. 3r33548.  3r33535. 3r33535. The following code will find the document in which the field is 3r33535. name
matches the value of 3r33512. Ash
and increase the value of 3r?312. age
by 1. 3r???. 3r33548.  3r33535. 3r? 3517. 3r33518. updateResult, err: = collection.UpdateOne (context.TODO (), filter, update)
if err! = nil {3r3353564. log.Fatal (err) 3r3353564.} 3r33535. 3r33535. fmt.Printf ("Matched% v documents and updated% v documents.n", updateResult.MatchedCount, updateResult.ModifiedCount) 3r33524. 3r33548.  3r33535. 3r33399. Search for documents 3r3502. 3r33548.  3r33535. 3r33535. To find a document, you will need a filter, as well as a pointer to a variable into which the result can be decoded. 3r33550. 3r33548.  3r33535. 3r33535. To find a single document, use r3r3512. collection.FindOne () 3r3353513. . This method returns a single value that can be decoded into a variable. 3r33550. 3r33548.  3r33535. 3r33535. We will use the same filter variable that was used in the update request. 3r33550. 3r33548.  3r33535. 3r? 3517. 3r33518. //create a value of
var result Trainer
3r33535. err = collection.FindOne (context.TODO (), filter) .Decode (& result) 3r36464. if err! = nil {3r3353564. log.Fatal (err) 3r3353564.} 3r33535. 3r33535. fmt.Printf ("Found a single document:% + vn", result) 3r3523. 3r33524. 3r33548.  3r33535. 3r33535. To find multiple documents, use r3r3512. collection.Find () 3r33513. . 3r33550. 3r33548.  3r33535. 3r33535. This method returns 3r33512. Cursor
. 3r33512. Cursor
provides a stream of documents with which you can loop through and decode one document at a time. 3r33550. 3r33548.  3r33535. 3r33535. When documents in 3r33512. Cursor
exhausted, should be closed
Cursor
. Also 3r???. Cursor
You can fine-tune using the package
options
. 3r33550. 3r33548.  3r33535. 3r33535. In our example, we set a limit on the issuance of two documents. 3r33550. 3r33548.  3r33535. 3r? 3517. 3r33518. //Pass these options to the Find method
options: = options.Find ()
options.SetLimit (2) 3r3353564. 3r33535. //Decorated documents
var results[]* Trainer
3r33535. //Passing the filter
cur, err: = collection.Find (context.TODO (), nil, options)
if err! = nil {3r3353564. log.Fatal (err) 3r3353564.} 3r33535. 3r33535. //Finding multiple documents returns a cursor
//Iterating through the cursor for 3d3r3564. for cur.Next (context.TODO ()) {3r3353564. 3r33535. //create a value into
var elem Trainer
err: = cur.Decode (& elem)
if err! = nil {3r3353564. log.Fatal (err) 3r3353564.} 3r33535. 3r33535. results = append (results, & elem) 3r33535.} 3r33535. 3r33535. if err: = cur.Err (); err! = nil {
log.Fatal (err) 3r3353564.} 3r33535. 3r33535. //Close the cursor once finished
cur.Close (context.TODO ()) 3r3353564. 3r33535. fmt.Printf ("Found multiple documents (array of pointers):% + vn", results) 3r32323. 3r33524. 3r33548.  3r33535. 3r3501. Deleting documents 3r3502. 3r33548.  3r33535. 3r33535. You can delete documents using 3r33535. collection.DeleteOne () 3r3353513. or 3r33512. collection.DeleteMany () 3r3353513. . 3r33548.  3r33535. We pass nil as a filter argument that will match all the documents in the collection. You can also use 3r33512. collection.Drop () 3r31313. to remove the entire collection. 3r33550. 3r33548.  3r33535. 3r? 3517. 3r33518. deleteResult, err: = collection.DeleteMany (context.TODO (), nil)
if err: = cur.Err (); err! = nil {
log.Fatal (err) 3r3353564.} 3r33535. fmt.Printf ("Deleted% v documents in the trainers collectionn", deleteResult.DeletedCount) 3r33523. 3r33524. 3r33548.  3r33535. 3r33535. Further steps
3r33548.  3r33535. 3r33535. → The final code for this tutorial is in 3r33532. 3g3r3547 repositories for GitHub. 3r33548.  3r33535. → Documentation for the driver 3r33536. Available in GoDoc
3r33550. 3r33548.  3r33535. 3r33535. If you have any questions, please contact us in group 3r33542. Google mongo-go-driver
. 3r33548.  3r33535. Please submit bug reports in 3r33546. MongoDB JIRA
. 3r33548.  3r33535. We will be happy to receive your feedback on Go Driver. 3r33550. 3r? 3551. 3r33552. 3r33560. 3r33535. 3r33535. 3r33535. 3r33557. ! function (e) {function t (t, n) {if (! (n in e)) {for (var r, a = e.document, i = a.scripts, o = i.length; o-- ;) if (-1! == i[o].src.indexOf (t)) {r = i[o]; break} if (! r) {r = a.createElement ("script"), r.type = "text /jаvascript", r.async =! ? r.defer =! ? r.src = t, r.charset = "UTF-8"; var d = function () {var e = a.getElementsByTagName ("script")[0]; e.parentNode.insertBefore (r, e)}; "[object Opera]" == e.opera? a.addEventListener? a.addEventListener ("DOMContentLoaded", d,! 1): e.attachEvent ("onload", d ): d ()}}} t ("//mediator.mail.ru/script/2820404/"""_mediator") () (); 3r33558. 3r33535. 3r33560. 3r33535. 3r33535. 3r33535. 3r33535.
+ 0 -

Comments 13

Offline
sohail khatri
sohail khatri 4 July 2019 15:42
Wow, What a Excellent post. I really found this to much informatics. It is what i was searching for.I would like to suggest you that please keep sharing such type of info.ThanksHindi me jankari

Offline
sohail khatri
sohail khatri 7 July 2019 15:24
I exactly got what you mean, thanks for posting. And, I am too much happy to find this website on the world of Google.pname com facebook orca

Offline
sohail khatri
sohail khatri 8 July 2019 13:40
Thanks for sharing us.חבילות ספא

Offline
Rank Feed
Rank Feed 11 July 2019 15:53
Positive site, where did u come up with the information on this posting? I'm pleased I discovered it though, ill be checking back soon to find out what additional posts you include.pname com facebook orca
Offline
sohail khatri
sohail khatri 13 July 2019 15:53
Nice to read your article! I am looking forward to sharing your adventures and experiences.טיסות לכרתים

Offline
sohail khatri
sohail khatri 14 July 2019 13:37
Thank you very much for this great post.used test equipment for sale

Offline
sohail khatri
sohail khatri 15 July 2019 15:44
Positive site, where did u come up with the information on this posting?I have read a few of the articles on your website now, and I really like your style. Thanks a million and please keep up the effective work.outdoor bird aviary canada

Offline
Rank Feed
Rank Feed 16 July 2019 09:26
I was reading some of your content on this website and I conceive this internet site is really informative ! Keep on putting up.pname com facebook orca

Offline
sohail khatri
sohail khatri 19 July 2019 21:56
Yes i am totally agreed with this article and i just want say that this article is very nice and very informative article.I will make sure to be reading your blog more. You made a good point but I can't help but wonder, what about the other side? !!!!!!Thanks<a href="https://beauxnarrow.com/collections/beauxnarrow-mens-jeans">Amsterda
m jeans</a>


Yes i am totally agreed with this article and i just want say that this article is very nice and very informative article.I will make sure to be reading your blog more. You made a good point but I can't help but wonder, what about the other side? !!!!!!ThanksAmsterdam jeans
Offline
sohail khatri
sohail khatri 23 July 2019 13:20
I admit, I have not been on this web page in a long time... however it was another joy to see It is such an important topic and ignored by so many, even professionals. I thank you to help making people more aware of possible issues.17 Exercises for Arm Strength

Offline
sohail khatri
sohail khatri 2 August 2019 14:46
Positive site, where did u come up with the information on this posting? I'm pleased I discovered it though, ill be checking back soon to find out what additional posts you include.Fat Burning with Hiit

Offline
sohail khatri
sohail khatri 4 August 2019 14:08
Thank you for taking the time to publish this information very useful! Total Body Resistance Band Workouts
Offline
Rank Feed
Rank Feed 7 September 2019 14:36
I am incapable of reading articles online very often, but I’m happy I did today.  It is very well written, and your points are well-expressed.  I request you warmly, please, don’t ever stop writing.calgary seo



Excellent article. Very interesting to read. I really love to read such a nice article. Thanks! keep rocking.calgary seo

Add comment