Пример #1
0
        public void DeleteEmbeddedDocument(Profile parentDocument, ImageLocationData deleteData)
        {
            FilterDefinitionBuilder <Profile> filterBuilder = Builders <Profile> .Filter;
            FilterDefinition <Profile>        filter        = filterBuilder.And(filterBuilder.Eq("_id", parentDocument.ID), filterBuilder.Eq("profile_stored_images._id", deleteData.ID));
            UpdateDefinition <Profile>        update        = Builders <Profile> .Update.PullFilter("ProfileImageList", Builders <ImageLocationData> .Filter.Eq("_id", deleteData.ID));

            connectionManager.RetrieveCollection <Profile>().FindOneAndUpdate(filter, update);
        }
Пример #2
0
        public void UpdateOneEmbeddedData(Profile parentDocument, ImageLocationData updatedData)
        {
            FilterDefinitionBuilder <Profile> filterBuilder = Builders <Profile> .Filter;
            FilterDefinition <Profile>        filter        = filterBuilder.And(filterBuilder.Eq("_id", parentDocument.ID), filterBuilder.Eq("profile_stored_images._id", updatedData.ID));
            UpdateDefinition <Profile>        update        = Builders <Profile> .Update.Set(document => document.ProfileImageList[-1], updatedData);

            connectionManager.RetrieveCollection <Profile>().FindOneAndUpdate(filter, update);
        }
Пример #3
0
        public void AppendNewDataItem(Profile parentDocument, ImageLocationData newData)
        {
            FilterDefinition <Profile> filter = Builders <Profile> .Filter.Eq("_id", parentDocument.ID);

            UpdateDefinition <Profile> update = Builders <Profile> .Update.Push("profile_stored_images", newData);

            connectionManager.RetrieveCollection <Profile>().UpdateOne(filter, update);
        }
Пример #4
0
        public void DeleteEmbeddedDocument(Messages parentDocument, ObjectId imageMessageId, ImageLocationData deleteData)
        {
            FilterDefinitionBuilder <Messages> filterBuilder = Builders <Messages> .Filter;
            FilterDefinition <Messages>        filter        = filterBuilder.And(filterBuilder.Eq("_id", parentDocument.ID), filterBuilder.Eq("image_message._id", imageMessageId));
            UpdateDefinition <Messages>        update        = Builders <Messages> .Update.Set(document => document.SentImages[-1].ImageLocation, null);

            connectionManager.RetrieveCollection <Messages>().FindOneAndUpdate(filter, update);
        }
Пример #5
0
        public void DeleteEmbeddedDocument(Locations parentDocument, ObjectId locationDataId, ImageLocationData deleteData)
        {
            FilterDefinitionBuilder <Locations> filterBuilder = Builders <Locations> .Filter;
            FilterDefinition <Locations>        filter        = filterBuilder.And(filterBuilder.Eq("_id", parentDocument.ID), filterBuilder.Eq("locations._id", locationDataId));
            UpdateDefinition <Locations>        update        = Builders <Locations> .Update.Set(document => document.LocationData[-1].ImageLocation, null);

            connectionManager.RetrieveCollection <Locations>().FindOneAndUpdate(filter, update);
        }
Пример #6
0
        static void Main(string[] args)
        {
            MobileService        test         = new MobileService();
            EmbeddedLocationData locationData = new EmbeddedLocationData
            {
                Latitude         = 34.3443d,
                Longitude        = 34.34d,
                ViewRestrictions = new List <ObjectId> {
                    new ObjectId("5b0f3f7ec1b8aa1b68e1fa17")
                },
                ImageLocation = null,
                ExpiresAt     = DateTime.Now
            };

            Locations location = new Locations
            {
                UserId       = ObjectId.GenerateNewId(),
                LocationData = new List <EmbeddedLocationData> {
                    locationData
                }
            };

            ImageLocationData imageLocation = new ImageLocationData
            {
                ID = ObjectId.GenerateNewId(),
                ImageDocumentId = ObjectId.GenerateNewId(),
                ImageId         = ObjectId.GenerateNewId()
            };

            Console.WriteLine(locationData.ID);

            test.Insert(location);

            //foreach (ObjectId temp in test.RetrieveAllDocumentIds<Locations>())
            //{
            //    Console.WriteLine(temp);
            //}

            var tempLocation = test.RetrieveOneDocument <Locations>(location.ID);

            Console.WriteLine($"id: {tempLocation.ID}");
            Console.WriteLine($"user Id: {tempLocation.UserId}");
            foreach (var data in tempLocation.LocationData)
            {
                Console.WriteLine();
                Console.WriteLine($"ID: {data.ID}");
                Console.WriteLine($"expires: {data.ExpiresAt}");
                Console.WriteLine($"latitude: {data.Latitude}");
                Console.WriteLine($"longitude: {data.Longitude}");
                Console.WriteLine($"image: {data.ImageLocation}");
                foreach (var restrict in data.ViewRestrictions)
                {
                    Console.WriteLine($"restrict: {restrict}");
                }
            }

            ////locationData.ID = new ObjectId("5b0d9ef5c1b8aa49b8f64ff9");
            ////test.DeleteEmbeddedDocument(location, locationData);
            ////test.DeleteEmbeddedDocument(location, locationData.ID, new ObjectId("5b115bf7c1b8aa2bd483fe70"));
            ////locationData.ExpiresAt = DateTime.Now;
            ////test.Update(location);
            //test.DeleteFullDocument<Locations>(location.ID);
            ////test.UpdateOneEmbeddedData(location, locationData.ID, imageLocation);
            ////test.AppendNewDataItem(location, locationData);
            ////test.AppendNewDataItem(location, locationData.ID, ObjectId.GenerateNewId());
            ////test.UpdateOneEmbeddedData(location, locationData);
            ////test.DeleteEmbeddedDocument(location, locationData.ID, imageLocation);

            //Console.WriteLine();
            //tempLocation = test.RetrieveOneDocument<Locations>(location.ID);
            //Console.WriteLine($"id: {tempLocation.ID}");
            //Console.WriteLine($"user Id: {tempLocation.UserId}");
            //foreach (var data in tempLocation.LocationData)
            //{
            //    Console.WriteLine();
            //    Console.WriteLine($"ID: {data.ID}");
            //    Console.WriteLine($"expires: {data.ExpiresAt}");
            //    Console.WriteLine($"latitude: {data.Latitude}");
            //    Console.WriteLine($"longitude: {data.Longitude}");
            //    Console.WriteLine($"image: {data.ImageLocation}");
            //    foreach (var restrict in data.ViewRestrictions)
            //    {
            //        Console.WriteLine($"restrict: {restrict}");
            //    }
            //}
        }