示例#1
0
        public async Task <bool> Add(WordEntity entity)
        {
            var filter = Builders <PackageEntity> .Filter.Eq("_id", new ObjectId(entity.packageId));

            var update = Builders <PackageEntity> .Update.Push("words", entity);

            var result = await this.context.Packages.UpdateOneAsync(filter, update);

            return(result.IsAcknowledged && result.ModifiedCount > 0);
        }
示例#2
0
        public async Task <bool> Update(WordEntity entity)
        {
            // var filter = Builders<WordEntity>.Filter.Eq("_id", entity._id);
            // var update = Builders<WordEntity>.Update
            // .Set(s => s.originalword, entity.originalword)
            // .Set(s => s.synonym, entity.synonym)
            // .Set(s => s.ownSentence, entity.ownSentence)
            // .Set(s => s.description, entity.description);

            // var result = await this.context.Words.UpdateOneAsync(filter, update);

            var result = await this.context.Packages.FindOneAndUpdateAsync(
                c => c._id == ObjectId.Parse(entity.packageId) && c.words.Any(s => s._id == entity._id), // find this match
                Builders <PackageEntity> .Update.Set(c => c.words[-1].originalword, entity.originalword)
                //.Set(s => s.synonym, entity.synonym)
                // .Set(s => s.ownSentence, entity.ownSentence)
                .Set(s => s.words[-1].description, entity.description));

            return(true);//result.IsAcknowledged && result.ModifiedCount > 0;
        }