`
wdhdmx
  • 浏览: 304957 次
  • 性别: Icon_minigender_1
  • 来自: 山西
博客专栏
D4bbb5f7-9aa4-3e66-8194-f61b3f0241c2
天天编程
浏览量:22016
社区版块
存档分类
最新评论

mongoDB的java实现简单的评分、评论和标签

阅读更多

用mongodb 的java开发包

 

实现歌曲的评分、评论、标签的基本功能。

 

第一次使用,如果有不对的地方希望能有热心人不吝赐教。

 

package mongodb;

import java.util.ArrayList;
import java.util.List;


import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.Mongo;

public class A1 {
	public static Mongo m=null;
	public static DB db=null;
	public static DBCollection  coll1 = null;
	
	
	//这个静态块用来连接mongodb数据库,默认端口
	static {
		try {
			m = new Mongo();
		} catch (Exception e) {
			e.printStackTrace();
		}
		db = m.getDB("mydb");
		coll1 = db.getCollection("music");
	}
	public static void main(String[] args) throws Exception {
		//建立一个基本的对象,存基本信息,像歌曲的歌手,歌曲名
		BasicDBObject doc = new BasicDBObject();
		doc.put("id", 1001);
		doc.put("singer", "刘德华");
		doc.put("song", "爱你一万年");
		
		//评分为一个单独的对象,可没有初始数据。
		BasicDBObject score = new BasicDBObject();
		score.put("0", 3);
		score.put("1", 1);
		score.put("2", 5);
		score.put("3", 4);
		score.put("4", 16);
		score.put("5", 16);
		doc.put("someScore", score);
		
		//评论的基本信息,可没有初始数据。
		List<String> reviews =new ArrayList<String>();
		reviews.add("很喜欢");
		doc.put("someReview", reviews);
		
		
		coll1.drop();
		coll1.insert(doc);
		DBCursor cur = coll1.find();
		while (cur.hasNext()) {
			System.out.println("修改前的数据:"+cur.next());
		}
		System.out.println("-------");
		
		addARevert("不好听");
		addARevert("打酱油");
		addARevert("真的挺不错,一直很喜欢刘德华");
		
		
		addAScore(5);
		addAScore(4);
		addAScore(2);
		
		addATags("经典");
		addATags("四大天王");
		addATags("流行");
		addATags("流行");
		addATags("经典");
		addATags("经典");
		addATags("刘德华");
		
		//显示出修改数据
		DBCursor cur1 = coll1.find();
		while (cur1.hasNext()) {
			System.out.println("修改后的数据:"+cur1.next());
		}
	}
	
	//加歌曲标签
	public static void addATags(String tag){
		BasicDBObject tagO =new BasicDBObject();
		tagO.append("tags."+tag, 1);
		BasicDBObject doc =new BasicDBObject();
		doc.put("$inc", tagO);
		coll1.update(new BasicDBObject().append("id", 1001), doc);
	}
	
	//评分
	public static void addAScore(int i){
		BasicDBObject doc =new BasicDBObject();
		doc.put("$inc", new BasicDBObject().append("someScore."+i, 1));
		coll1.update(new BasicDBObject().append("id", 1001), doc);
	}
	
	//加评论
	public static void addARevert(String revert ){
		BasicDBObject doc =new BasicDBObject();
		doc.put("someReview", revert);
		//这个是在数组末添加
		BasicDBObject temp=new BasicDBObject().append("$push", doc);
		coll1.update(new BasicDBObject().append("id", 1001), temp);
	}
	
}
2
1
分享到:
评论

相关推荐

    电影推荐系统,基于Spark实现,技术栈包括Spring,Redis,MongoDB等等.zip

    用户可能需要搭建对应的开发环境,理解并运行这些代码,以了解和学习电影推荐系统如何利用上述技术栈进行设计和实现。这将涉及到数据预处理、模型训练、实时推荐服务构建等多个步骤,是理解大数据处理和推荐系统实现...

    基于java开发的搜索引擎系统附源代码

    Java的集合和数据结构库能有效支持这些操作,而Lucene/Solr则提供了查询解析和评分机制。 6. **结果排序**:搜索引擎需要根据相关性对搜索结果进行排序。这涉及到复杂的算法,如TF-IDF、BM25等,Java允许自定义算法...

    基于java的经营风控引擎.zip

    【标题】"基于Java的经营风控引擎"是一个重要的软件系统,它主要应用于金融、电商、互联网等领域的风险管理。...开发者可能需要具备Java基础、数据科学知识以及对风险管理的理解,才能有效地设计和实现这样的系统。

    Java搜索引擎

    融合策略可以是简单合并,也可以是基于某种评分机制的加权平均。 7. **用户界面**:提供友好的用户界面,展示搜索结果,可能包括搜索建议、相关搜索等功能。JavaFX或Swing可用于构建桌面应用的UI,而Spring Boot...

    java 师生交流网站

    【标题】:“java 师生交流网站” 【描述】:根据提供的描述,虽然看起来有些随机,但我们可以尝试...以上就是围绕“java师生交流网站”的一系列关键知识点,涵盖了技术栈、功能实现、用户体验和安全性等多个方面。

    基于 Java 的电影聚合系统.zip

    这样的系统可能包括搜索、推荐、评论、评分等功能,为用户提供一个统一的平台来探索和享受电影内容。 【描述】这个描述简洁,暗示了项目的核心是使用Java技术来开发一个电影信息聚合平台。Java是一种广泛使用的面向...

    JAVA作业管理系统设计(源代码+论文)【毕业论文】.zip

    【描述】:描述简单明了,表明这是一个JAVA编程语言实现的作业管理系统,它涵盖了系统的设计、开发和实现的全部过程,并且附带了详细的论文,可以作为学习和参考的实例。 【标签】:“毕业论文”和“作业管理系统”...

    java作业管理系统设计.zip

    在本项目中,"java作业管理系统设计.zip" 是一个包含了一个使用Java编程语言开发的作业管理系统的设计和实现。这个系统可能旨在帮助教育机构、教师或学生有效地管理作业的提交、评估和反馈流程。以下是根据标题和...

    [搜索链接]java(结合lucene)版的公交搜索系统_javaso.rar

    开发者可以查看代码结构,了解如何整合Java和Lucene来实现特定的搜索功能,以及如何设计系统架构和实现各种搜索策略。 9. **论文**:标签中的“论文”可能指的是该项目相关的技术文档或研究报告,解释了系统的设计...

    Java基于大数据分析的音乐推荐系统源码.zip

    在本项目中,我们关注的是一个使用Java实现的基于大数据分析的音乐推荐系统。这个系统集成了多种功能,包括用户管理、音乐检索、个性化推荐等,旨在为用户提供更精准的音乐体验。以下将详细阐述该项目涉及的主要知识...

    Java基于协同过滤算法的电影推荐系统源代码,利用修正的余弦相似度算法做影片推荐

    9. **软件/插件**:标签中的"软件/插件"暗示了该项目可能包含额外的工具或库,例如Apache Mahout或Spark MLlib,这些是Java中用于机器学习和推荐系统的常见库。 综上所述,这个Java实现的电影推荐系统项目涉及了...

    用于搜电影的小型搜索引擎

    这个项目的核心是一个基于Java实现的简易搜索引擎,它的主要功能是抓取网络上的电影资源信息,并将其整合到一个可供用户搜索的平台。这样的系统能够帮助用户快速找到并下载他们感兴趣的电影,提高了电影检索的效率。...

    vue-springboot基于java的电影评价系统论文+答辩ppt.rar

    这个系统很可能是用于实现用户对电影的评分、评论以及相关数据管理的功能。 在描述中,“vue-springboot基于java的电影评价系统论文+答辩ppt”简单重申了提供的内容,即一个完整的项目介绍,包括理论研究和实践展示...

    java爬虫工具

    在这个项目中,可能使用了JDBC(Java Database Connectivity)接口来与数据库进行交互,包括插入、更新和查询评论数据。 6. **数据处理与清洗**:在将数据写入数据库之前,可能需要对数据进行预处理,例如去除HTML...

    235动漫评论网站.zip

    3. **数据库管理**:评论、用户信息、动漫作品数据等都需要存储在数据库中,如MySQL、MongoDB或PostgreSQL等,需要设计合理的数据模型和数据库查询优化。 4. **用户交互**:良好的用户交互设计,如表单验证、错误...

    基于Java的在线作业提交批改系统源码数据库.zip

    这个系统可能被设计用于教育环境,帮助教师和学生实现线上作业的提交、管理与自动或手动批改。以下是根据提供的标签和文件名解析出的相关知识点: 1. **Java**: 作为主要编程语言,Java在系统开发中承担了核心功能...

    毕设&课程作业_智能评分系统.zip

    【标题】"毕设&课程作业_智能评分系统.zip"所涉及的知识点主要集中在计算机科学与技术领域,尤其是软件开发和人工智能(AI)的应用。这是一个毕业设计或课程作业项目,包含了一个智能评分系统的源码,这表明学生们...

    毕业设计管理系统java服务端,采用spring mvc.zip

    【标题】中的“毕业设计管理系统java...这个毕业设计管理系统可能会涵盖用户注册、登录、毕业设计提交、审核、评分等功能,涉及权限控制、数据验证、事务管理等多个方面,是一个全面了解和实践Java Web开发的好案例。

    springboot230基于Spring Boot在线远程考试系统的设计与实现.zip

    Spring Boot作为Java开发框架中的佼佼者,以其简洁的配置、快速的启动和丰富的生态,成为了构建高效在线考试系统的理想选择。本项目“springboot230基于Spring Boot在线远程考试系统的设计与实现”深入探讨了如何...

Global site tag (gtag.js) - Google Analytics