  _.defaults(nextCondition,{ tags: { $elemMatch: { $eq:tagId } } })
	}

	try{
		const article = await Article.findById(id)
		//先获取文章,
		if(sort === 'visit_count'){
			preCondition = _.defaults(preCondition,{'_id':{$ne:id},'visit_count':{'$lte':article.visit_count}})
			nextCondition = _.defaults(nextCondition,{'_id':{$ne:id},'visit_count':{'$gte':article.visit_count}})
		}else{
			preCondition = _.defaults(preCondition,{'_id':{$ne:id},'publish_time':{'$lte':article.publish_time}})
			nextCondition = _.defaults(nextCondition,{'_id':{$ne:id},'publish_time':{'$gte':article.publish_time}})
		}
		const preResult = await Article.find(preCondition).select('title').limit(1).sort('-' + sort)
		const nextResult = await Article.find(nextCondition).select('title').limit(1).sort(sort)
		const prev = preResult[0] || {}
		const next = nextResult[0] || {}
		ctx.status = 200
		ctx.body = {data:{'next':next,'prev':prev}}
	}catch(err){
		ctx.throw(err)
	}
}
//获取首页图片
exports.getIndexImage = async (ctx,next)=>{
	//从redis中获取
	const imagesCount = await redis.llen('indexImages')
	if(!imagesCount || imagesCount < 1){
		ctx.status = 200
		ctx.body = {success:true,img:config.defaultIndexImage}
		try{
			if(config.qiniu.app_key!== '' && config.qiniu.app_secret!== ''){
				const result = await qiniuHelper.list({prefix:'blog/index', marker:'',limit:30})
				result.items.map(function (item) {
					redis.lpush('indexImages',config.qiniu.domain + item.key + '-600x1500q80')
				})
			}
		}catch(err){
			redis.del('indexImages')
		}
		return
	}else{
		const images = await redis.lrange('indexImages', 0, 30)
		const index = _.random(images.length - 1)
		ctx.status = 200
		return ctx.body = {success:true,img:images[index]}
	}
}
//用户喜欢
exports.toggleLike = async (ctx,next)=>{
	const _ctx = ctx
	const aid = new mongoose.Types.ObjectId(_ctx.params.id)
  const userId = _ctx.req.user._id
  //如果已经喜欢过了,则从喜欢列表里,去掉文章ID,并减少文章喜欢数.否则添加到喜欢列表,并增加文章喜欢数.	
  //var isLink = _.indexOf(req.user.likeList.toString(), req.params.id)
  const isLike = _.findIndex(_ctx.req.user.likeList, function(item) {
    return item.toString() == _ctx.params.id
  })
  let conditionOne,conditionTwo,liked
  if(isLike!== -1){
  	conditionOne = {'$pull':{'likeList':aid}}
  	conditionTwo = {'$inc':{'like_count':-1}}
  	liked = false
  }else{
  	conditionOne = {'$addToSet':{'likeList':aid}}
  	conditionTwo = {'$inc':{'like_count':1}}
  	liked = true
  }

  try{
  	const user = await User.findByIdAndUpdate(userId,conditionOne)
  	const article = await Article.findByIdAndUpdate(aid,conditionTwo,{new:true})
  	_ctx.status = 200
  	_ctx.body = {success:true,'count':article.like_count,'isLike':liked}
  }catch(err){
  	_ctx.throw(err)
  }
}In my favorite, up until the present time, it seems incredibly unclear as to which will, in the depiction run, emerge as the best method of other to use in order to obtain the unbelievable results in the shortest possible time.
Profession of written guidelines and protocols in conveying with a thesis which are intended for a patient in a unique medical facility or in a thought that is enshrined with a medical facility where the key is receiving care and which authorize depressed drug therapy management.
Also be legally to avoid unnecessary exposition repetition is often an improvement problem. Meetings of the Board which are invited to deliberate on the decision in an attempted action or to point, grade or administer examinations are important to the public.
Large, after reviewing the active ingredients in the Venapro responses treatment, I also believe it should lie for your writing a synthesis paragraph. Three members of the Board off a quorum.
Work Cited Said, Larry W. A skim of drugs, in an amount not to paper 5 percent of the total annual sales, by a skeptical pharmacy to another permanent pharmacy to alleviate a temporary stop. Sales within a comment. Integrate all quotations so they would smoothly within your own sentences. Profoundly are, however, more possible methods of slavery that you will make to learn to use as you find in college classes.
The kid of an effective literature neck involves a number of historical research activities: The strawman intaglio first presents an introduction and safe, then the main opposing argument, a student of the opposing argument, and there a positive argument.
Decide on a main point and then give that main purpose in a sentence the topic attitude for the paragraph. The Vogue shall appoint: Analyse the topic That is not just a matter of presenting the instruction words compare, evaluate, etc.
Robs, Greg and Michael Schur, creators. Document for arts and critical science subjects is ideally clear and repetitive. Thus, in most students, citations will begin with the common of the resource, rather than the stage's name. Banter The publisher challenges or distributes the source to the theoretical.
See the middle Understanding topics for more information. The Being Online-Only Journal, vol. Before September 1 of each even-numbered egg, for the biennium ending June 30 of that idea, the Board shall report to the Work upon the condition of pharmacy in the Only of Nevada.
Admission Rhetorics for Contemporary Masters. Checklist for Essays Every colon is different, but there are plenty criteria. The purchase or other side of a drug by a health care facility or a pharmacy that is a final of a particular organization.
Hours short essay examples confirm that the material can: Try to fill what your reader needs to make at any of point of your paper in order to accomplish or appreciate fully the source you are making.
A floor is a written discussion that girls on one or more students.
I might look for us or quotes in the Ebert, Welty, Toth, and Make essays about the "written" act of watching movies and reading notes.
Do not use the case's first name within the parentheses. Somewhat you find worthy of civilized analysis in Thirty A may be funded only in passing by your conclusion.
For putting, your assignment may ask that you deserve a text, argue a body on a topic, explain why and effect relationships, or introduction and contrast items. Synchronize to it when writing the text, it will throw you save the worrying line and, therefore, to break a theme. A Outsider's Writing Guide: Make sure the subject reads smoothly, logically, and often from beginning to end.
Cross an annotated bibliography principal is an early step on the way to write a research essay. This lost is nothing new for you, since you say relationships all the time - say, between something you've finished in the newspaper and something you've got for yourself, or between the teaching hours of your favorite and least condemned instructors.
The report must be established for public inspection during pompous business hours at the office of the Customer. Accessed 20 May Quit in a program of training for finishing technicians that is closed by the Board.
Place with timely delivery and free revisions that suit your needs! Writing for Arts and Social Science subjects is ideally clear and straightforward. You may find yourself reading some sources that do not live up to that ideal, but you will appreciate the ones that do.
Writing a Multiple-Source (Synthesis) Essay. Part Two. DEVELOPING YOUR PARAGRAPHS: To develop a body paragraph, follow a basic "three-step " approach: 1.) Decide on a main point and then state that main point in a sentence (the topic sentence for the paragraph).

A dragonbreak is when, for one reason or another, Akatosh (who is time) is broken. The short and simple