用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);
}
}
分享到:
相关推荐
用户可能需要搭建对应的开发环境,理解并运行这些代码,以了解和学习电影推荐系统如何利用上述技术栈进行设计和实现。这将涉及到数据预处理、模型训练、实时推荐服务构建等多个步骤,是理解大数据处理和推荐系统实现...
Java的集合和数据结构库能有效支持这些操作,而Lucene/Solr则提供了查询解析和评分机制。 6. **结果排序**:搜索引擎需要根据相关性对搜索结果进行排序。这涉及到复杂的算法,如TF-IDF、BM25等,Java允许自定义算法...
【标题】"基于Java的经营风控引擎"是一个重要的软件系统,它主要应用于金融、电商、互联网等领域的风险管理。...开发者可能需要具备Java基础、数据科学知识以及对风险管理的理解,才能有效地设计和实现这样的系统。
融合策略可以是简单合并,也可以是基于某种评分机制的加权平均。 7. **用户界面**:提供友好的用户界面,展示搜索结果,可能包括搜索建议、相关搜索等功能。JavaFX或Swing可用于构建桌面应用的UI,而Spring Boot...
【标题】:“java 师生交流网站” 【描述】:根据提供的描述,虽然看起来有些随机,但我们可以尝试...以上就是围绕“java师生交流网站”的一系列关键知识点,涵盖了技术栈、功能实现、用户体验和安全性等多个方面。
这样的系统可能包括搜索、推荐、评论、评分等功能,为用户提供一个统一的平台来探索和享受电影内容。 【描述】这个描述简洁,暗示了项目的核心是使用Java技术来开发一个电影信息聚合平台。Java是一种广泛使用的面向...
【描述】:描述简单明了,表明这是一个JAVA编程语言实现的作业管理系统,它涵盖了系统的设计、开发和实现的全部过程,并且附带了详细的论文,可以作为学习和参考的实例。 【标签】:“毕业论文”和“作业管理系统”...
在本项目中,"java作业管理系统设计.zip" 是一个包含了一个使用Java编程语言开发的作业管理系统的设计和实现。这个系统可能旨在帮助教育机构、教师或学生有效地管理作业的提交、评估和反馈流程。以下是根据标题和...
开发者可以查看代码结构,了解如何整合Java和Lucene来实现特定的搜索功能,以及如何设计系统架构和实现各种搜索策略。 9. **论文**:标签中的“论文”可能指的是该项目相关的技术文档或研究报告,解释了系统的设计...
在本项目中,我们关注的是一个使用Java实现的基于大数据分析的音乐推荐系统。这个系统集成了多种功能,包括用户管理、音乐检索、个性化推荐等,旨在为用户提供更精准的音乐体验。以下将详细阐述该项目涉及的主要知识...
9. **软件/插件**:标签中的"软件/插件"暗示了该项目可能包含额外的工具或库,例如Apache Mahout或Spark MLlib,这些是Java中用于机器学习和推荐系统的常见库。 综上所述,这个Java实现的电影推荐系统项目涉及了...
这个项目的核心是一个基于Java实现的简易搜索引擎,它的主要功能是抓取网络上的电影资源信息,并将其整合到一个可供用户搜索的平台。这样的系统能够帮助用户快速找到并下载他们感兴趣的电影,提高了电影检索的效率。...
这个系统很可能是用于实现用户对电影的评分、评论以及相关数据管理的功能。 在描述中,“vue-springboot基于java的电影评价系统论文+答辩ppt”简单重申了提供的内容,即一个完整的项目介绍,包括理论研究和实践展示...
在这个项目中,可能使用了JDBC(Java Database Connectivity)接口来与数据库进行交互,包括插入、更新和查询评论数据。 6. **数据处理与清洗**:在将数据写入数据库之前,可能需要对数据进行预处理,例如去除HTML...
3. **数据库管理**:评论、用户信息、动漫作品数据等都需要存储在数据库中,如MySQL、MongoDB或PostgreSQL等,需要设计合理的数据模型和数据库查询优化。 4. **用户交互**:良好的用户交互设计,如表单验证、错误...
这个系统可能被设计用于教育环境,帮助教师和学生实现线上作业的提交、管理与自动或手动批改。以下是根据提供的标签和文件名解析出的相关知识点: 1. **Java**: 作为主要编程语言,Java在系统开发中承担了核心功能...
【标题】"毕设&课程作业_智能评分系统.zip"所涉及的知识点主要集中在计算机科学与技术领域,尤其是软件开发和人工智能(AI)的应用。这是一个毕业设计或课程作业项目,包含了一个智能评分系统的源码,这表明学生们...
【标题】中的“毕业设计管理系统java...这个毕业设计管理系统可能会涵盖用户注册、登录、毕业设计提交、审核、评分等功能,涉及权限控制、数据验证、事务管理等多个方面,是一个全面了解和实践Java Web开发的好案例。
Spring Boot作为Java开发框架中的佼佼者,以其简洁的配置、快速的启动和丰富的生态,成为了构建高效在线考试系统的理想选择。本项目“springboot230基于Spring Boot在线远程考试系统的设计与实现”深入探讨了如何...