Hello,
I have nested BSON documents inside an array in the document. I would like to be able to add/update items without having to do so many queries to check if it exists. Is there an easier/more efficient way to do it? This is going to be done a few million times every hour.
Example structure
Example ------------------------
I have nested BSON documents inside an array in the document. I would like to be able to add/update items without having to do so many queries to check if it exists. Is there an easier/more efficient way to do it? This is going to be done a few million times every hour.
Example structure
Code:
/* 0 */ { "_id" : ObjectId("5205344a405a280bf8f3b1c5"), "mykey" : 1000, "data" : [ { "d" : 20130807 ... }, { "d" : 20130806 ... }] }
Example ------------------------
Code:
Dim query = New QueryDocument() query.Add(New BsonElement("mykey" mykeyid)) Dim count As Integer = mongo_collection.Count(query) If count > 0 Then Dim query2 = New QueryDocument() query2.Add(New BsonElement("mykey", mykeyid)) query2.Add(New BsonElement("data.d", [date])) count = mongo_collection.Count(query2) If count > 0 Then mongo_collection.Update(query2, Update.Set("data.$", bson("data")(0))) Else mongo_collection.Update(query, Update.Push("data", bson("data")(0))) End If Else mongo_collection.Insert(bson) End If