MongoDbHelper 帮助类(上)
在网上搜索mongodbHelper的帮助类时,出来的东西都大同小异,再此摘录一下。
这些代码也看了一遍,总是感觉重复的代码太多了,在后续的文章中又整合了一下,请看下篇,欢迎指正!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MongoDB.Driver;
using MongoDB.Bson;
using MongoDB.Driver.Builders;
namespace MongoDbTest
{
/// <summary>
/// mongodb的封装类。
/// add by yancong2008@gmail.com 2011.05.14
/// </summary>
public sealed class MongoDBHelper
//public sealed class MongoDBHelper<T>
//where T :class
{
public static readonly string connectionString_Default = System.Configuration.ConfigurationManager.AppSettings["ConnectionString_mongoDB"];// mongodb://192.168.0.220:27017/effmaster
public static readonly string database_Default = System.Configuration.ConfigurationManager.AppSettings["Database_mongoDB"]; #region 新增
public static SafeModeResult InsertOne<T>(string collectionName, T entity)
{
return InsertOne<T>(connectionString_Default, database_Default, collectionName, entity);
}
public static SafeModeResult InsertOne<T>(string connectionString, string databaseName, string collectionName, T entity)
{
SafeModeResult result = null;//new SafeModeResult();
if (null == entity)
{
return null;
}
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
result = myCollection.Insert(entity);
}
return result;
}
public static IEnumerable<SafeModeResult> InsertAll<T>(string collectionName, IEnumerable<T> entitys)
{
return MongoDBHelper.InsertAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, entitys);
}
public static IEnumerable<SafeModeResult> InsertAll<T>(string connectionString, string databaseName, string collectionName, IEnumerable<T> entitys)
{
IEnumerable<SafeModeResult> result = null;
if (null == entitys)
{
return null;
}
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
result = myCollection.InsertBatch(entitys);
}
return result;
}
#endregion
#region 修改
public static SafeModeResult Save<T>(string collectionName, T entity)
{
return MongoDBHelper.Save<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, entity);
}
public static SafeModeResult Save<T>(string connectionString, string databaseName, string collectionName, T entity)
{
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
SafeModeResult result;
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
result = myCollection.Save(entity);
}
return result;
} /// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <param name="update">更新设置。调用示例:Update.Set("Title", "yanc") 或者 Update.Set("Title", "yanc").Set("Author", "yanc2") 等等</param>
/// <returns></returns>
public static SafeModeResult UpdateOne<T>(string collectionName, IMongoQuery query, IMongoUpdate update)
{
return MongoDBHelper.UpdateOne<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, update);
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="connectionString"></param>
/// <param name="databaseName"></param>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <param name="update">更新设置。调用示例:Update.Set("Title", "yanc") 或者 Update.Set("Title", "yanc").Set("Author", "yanc2") 等等</param>
/// <returns></returns>
public static SafeModeResult UpdateOne<T>(string connectionString, string databaseName, string collectionName, IMongoQuery query, IMongoUpdate update)
{
SafeModeResult result;
if (null == query || null == update)
{
return null;
}
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
result = myCollection.Update(query, update, UpdateFlags.None);
}
return result;
} /// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <param name="update">更新设置。调用示例:Update.Set("Title", "yanc") 或者 Update.Set("Title", "yanc").Set("Author", "yanc2") 等等</param>
/// <returns></returns>
public static SafeModeResult UpdateAll<T>(string collectionName, IMongoQuery query, IMongoUpdate update)
{
return MongoDBHelper.UpdateAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, update);
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="connectionString"></param>
/// <param name="databaseName"></param>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <param name="update">更新设置。调用示例:Update.Set("Title", "yanc") 或者 Update.Set("Title", "yanc").Set("Author", "yanc2") 等等</param>
/// <returns></returns>
public static SafeModeResult UpdateAll<T>(string connectionString, string databaseName, string collectionName, IMongoQuery query, IMongoUpdate update)
{
SafeModeResult result;
if (null == query || null == update)
{
return null;
}
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
result = myCollection.Update(query, update, UpdateFlags.Multi);
}
return result;
}
#endregion
#region 删除
public static SafeModeResult Delete(string collectionName, string _id)
{
return MongoDBHelper.Delete(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, _id);
}
public static SafeModeResult Delete(string connectionString, string databaseName, string collectionName, string _id)
{
SafeModeResult result;
ObjectId id;
if (!ObjectId.TryParse(_id, out id))
{
return null;
}
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
result = myCollection.Remove(Query.EQ("_id", id));
}
return result;
}
public static SafeModeResult DeleteAll(string collectionName)
{
return MongoDBHelper.DeleteAll(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, null);
}
/// <summary>
///
/// </summary>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <returns></returns>
public static SafeModeResult DeleteAll(string collectionName, IMongoQuery query)
{
return MongoDBHelper.DeleteAll(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query);
}
/// <summary>
///
/// </summary>
/// <param name="connectionString"></param>
/// <param name="databaseName"></param>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <returns></returns>
public static SafeModeResult DeleteAll(string connectionString, string databaseName, string collectionName, IMongoQuery query)
{
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
SafeModeResult result;
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
if (null == query)
{
result = myCollection.RemoveAll();
}
else
{
result = myCollection.Remove(query);
}
}
return result;
}
#endregion
#region 获取单条信息
public static T GetOne<T>(string collectionName, string _id)
{
return MongoDBHelper.GetOne<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, _id);
}
public static T GetOne<T>(string connectionString, string databaseName, string collectionName, string _id)
{
T result = default(T);
ObjectId id;
if (!ObjectId.TryParse(_id, out id))
{
return default(T);
}
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
result = myCollection.FindOneAs<T>(Query.EQ("_id", id));
}
return result;
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <returns></returns>
public static T GetOne<T>(string collectionName, IMongoQuery query)
{
return GetOne<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query);
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="connectionString"></param>
/// <param name="databaseName"></param>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <returns></returns>
public static T GetOne<T>(string connectionString, string databaseName, string collectionName, IMongoQuery query)
{
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
T result = default(T);
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
if (null == query)
{
result = myCollection.FindOneAs<T>();
}
else
{
result = myCollection.FindOneAs<T>(query);
}
}
return result;
}
#endregion
#region 获取多个
public static List<T> GetAll<T>(string collectionName)
{
return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName);
}
/// <summary>
/// 如果不清楚具体的数量,一般不要用这个函数。
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <returns></returns>
public static List<T> GetAll<T>(string connectionString, string databaseName, string collectionName)
{
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
List<T> result = new List<T>();
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
foreach (T entity in myCollection.FindAllAs<T>())
{
result.Add(entity);
}
}
return result;
}
public static List<T> GetAll<T>(string collectionName, int count)
{
return MongoDBHelper.GetAll<T>(collectionName, count, null, null);
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="count"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <returns></returns>
public static List<T> GetAll<T>(string collectionName, int count, IMongoQuery query)
{
return MongoDBHelper.GetAll<T>(collectionName, count, query, null);
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="count"></param>
/// <param name="sortBy">排序用的。调用示例:SortBy.Descending("Title") 或者 SortBy.Descending("Title").Ascending("Author")等等</param>
/// <returns></returns>
public static List<T> GetAll<T>(string collectionName, int count, IMongoSortBy sortBy)
{
return MongoDBHelper.GetAll<T>(collectionName, count, null, sortBy);
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="count"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <param name="sortBy">排序用的。调用示例:SortBy.Descending("Title") 或者 SortBy.Descending("Title").Ascending("Author")等等</param>
/// <param name="fields">只返回所需要的字段的数据。调用示例:"Title" 或者 new string[] { "Title", "Author" }等等</param>
/// <returns></returns>
public static List<T> GetAll<T>(string collectionName, int count, IMongoQuery query, IMongoSortBy sortBy, params string[] fields)
{
var page = ;
var pageSize = count;
return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, page, pageSize, sortBy, fields);
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <param name="pagerInfo"></param>
/// <returns></returns>
public static List<T> GetAll<T>(string collectionName, IMongoQuery query, int page, int pageSize)
{
return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, page, pageSize, null);
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <param name="pagerInfo"></param>
/// <param name="sortBy">排序用的。调用示例:SortBy.Descending("Title") 或者 SortBy.Descending("Title").Ascending("Author")等等</param>
/// <returns></returns>
public static List<T> GetAll<T>(string collectionName, IMongoQuery query, int page, int pageSize, IMongoSortBy sortBy)
{
return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, page, pageSize, sortBy);
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <param name="pagerInfo"></param>
/// <param name="fields">只返回所需要的字段的数据。调用示例:"Title" 或者 new string[] { "Title", "Author" }等等</param>
/// <returns></returns>
public static List<T> GetAll<T>(string collectionName, IMongoQuery query, int page, int pageSize, params string[] fields)
{
return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, page, pageSize, null, fields);
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <param name="pagerInfo"></param>
/// <param name="sortBy">排序用的。调用示例:SortBy.Descending("Title") 或者 SortBy.Descending("Title").Ascending("Author")等等</param>
/// <param name="fields">只返回所需要的字段的数据。调用示例:"Title" 或者 new string[] { "Title", "Author" }等等</param>
/// <returns></returns>
public static List<T> GetAll<T>(string collectionName, IMongoQuery query, int page, int pageSize, IMongoSortBy sortBy, params string[] fields)
{
return MongoDBHelper.GetAll<T>(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, query, page, pageSize, sortBy, fields);
}
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="connectionString"></param>
/// <param name="databaseName"></param>
/// <param name="collectionName"></param>
/// <param name="query">条件查询。 调用示例:Query.Matches("Title", "感冒") 或者 Query.EQ("Title", "感冒") 或者Query.And(Query.Matches("Title", "感冒"),Query.EQ("Author", "yanc")) 等等</param>
/// <param name="pagerInfo"></param>
/// <param name="sortBy">排序用的。调用示例:SortBy.Descending("Title") 或者 SortBy.Descending("Title").Ascending("Author")等等</param>
/// <param name="fields">只返回所需要的字段的数据。调用示例:"Title" 或者 new string[] { "Title", "Author" }等等</param>
/// <returns></returns>
public static List<T> GetAll<T>(string connectionString, string databaseName, string collectionName, IMongoQuery query, int page, int pageSize, IMongoSortBy sortBy, params string[] fields)
{
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
List<T> result = new List<T>();
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
MongoCursor<T> myCursor;
if (null == query)
{
myCursor = myCollection.FindAllAs<T>();
}
else
{
myCursor = myCollection.FindAs<T>(query);
}
if (null != sortBy)
{
myCursor.SetSortOrder(sortBy);
}
if (null != fields)
{
myCursor.SetFields(fields);
}
foreach (T entity in myCursor.SetSkip((page - ) * pageSize).SetLimit(pageSize))//.SetSkip(100).SetLimit(10)是指读取第一百条后的10条数据。
{
result.Add(entity);
}
}
return result;
}
#endregion
#region 索引
public static void CreateIndex(string collectionName, params string[] keyNames)
{
MongoDBHelper.CreateIndex(MongoDBHelper.connectionString_Default, MongoDBHelper.database_Default, collectionName, keyNames);
}
public static void CreateIndex(string connectionString, string databaseName, string collectionName, params string[] keyNames)
{
SafeModeResult result = null;// new SafeModeResult();
if (null == keyNames)
{
return;
}
MongoServer server = MongoServer.Create(connectionString);
//获取数据库或者创建数据库(不存在的话)。
MongoDatabase database = server.GetDatabase(databaseName);
using (server.RequestStart(database))//开始连接数据库。
{
MongoCollection<BsonDocument> myCollection = database.GetCollection<BsonDocument>(collectionName);
if (!myCollection.IndexExists(keyNames))
{
myCollection.EnsureIndex(keyNames);
}
}
}
#endregion
}
}
MongoDbHelper 帮助类(上)的更多相关文章
- 在Eclipse中设置Java类上面的注释(包含作者、日期等)
希望在Eclipse中,让Java类上面的注释像下面这样,改如何设置呢? 在Eclipse中,点击菜单中的Window-->Preferences,打开如下窗口:
- c#通过反射获取类上的自定义特性
c#通过反射获取类上的自定义特性 本文转载:http://www.cnblogs.com/jeffwongishandsome/archive/2009/11/18/1602825.html 下面这个 ...
- String 类上的常用操作
java 中String 类上的常用操作: 首先创建对象 String line = new String("String demo"); String line2 = new ...
- Lombok 在继承类上面的注意
找不到符号异常 在控制台项目中配置Lombok 编译会报错 找不到符号 解决 方法: 父类字段ToString不了 @Data @NoArgsConstructor @AllArgsConstruct ...
- 在动作类上加上SkipValidation 在反射时候会获取到该反射信息 就不会执行validate方法
在动作类上加上SkipValidation 在反射时候会获取到该反射信息 就不会执行validate方法
- 缓存策略 半自动化就是mybaitis只支持数据库查出的数据映射到pojo类上,而实体到数据库的映射需要自己编写sql语句实现,相较于hibernate这种完全自动化的框架我更喜欢mybatis
springboot入门(三)-- springboot集成mybatis及mybatis generator工具使用 - FoolFox - CSDN博客 https://blog.csdn.net ...
- Spring Cloud Feign 在调用接口类上,配置熔断 fallback后,输出异常
Spring Cloud Feign 在调用接口类上,配置熔断 fallback后,出现请求异常时,会进入熔断处理,但是不会抛出异常信息. 经过以下配置,可以抛出异常: 将原有ErrorEncoder ...
- MongoDbHelper 帮助类(下)
对MongoDbHelper帮助类进行了一下整合,但是代码中一个方法需要将string类型转化为BsonValue类型一直出错.所以欢迎留言指正 using System; using System. ...
- IntelliJ idea鼠标移动到类上显示文档document(javadoc)内容
IntelliJ idea鼠标移动到类上显示文档document(javadoc)内容 Step 1:设置鼠标移动到类上自动显示Javadoc文档 step2:为jdk下载javadoc Step3: ...
随机推荐
- 论Nim中的 proc 和 method
在Nim中.proc 是定义过程的keyword.method 是定义方法的keyword.它们之间根本的差别是proc定义的过程是静态绑定.method定义的方法是动态绑定.谈到静态绑定.动态绑定又 ...
- 使用QML自绘页面导航条
使用QML自绘页面导航条 近期使用QML制作项目,依照要求.须要制作成分页的插件.遗憾的是,QML的控件库Qt Quick都没有现成的控件,于是我尝试着自己实现自绘页面导航条. 原创文章,反对未声明的 ...
- RTP 和 RTSP的区别
RTP(Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输协议.RTP被定义为在一对一或一对多的传输情况下工作.其目的是提供时间信息和实现流同 ...
- 【Django】MEDIA的配置及用法
如果需要在数据库中存储图片或视频类的数据,我们可以配置MEDIA. 下面的示例将以上传一张图片的形式来说明MEDIA的配置及用法. 第一步 settings.py # media配置 MEDIA_UR ...
- pwconv---pwunconv 密码投影
pwconv命令用来开启用户的投影密码.Linux系统里的用户和群组密码,分别存放在名称为passwd和group的文件中, 这两个文件位于/etc目录下.因系统运作所需,任何人都得以读取它们,造成安 ...
- 【Uva 1633】Dyslexic Gollum
[Link]: [Description] 输入正整数n和k(1≤n≤400,1≤k≤10),求长度为n的01串中有多少个不含长度至少 为k的回文连续子串.例如,n=k=3时只有4个串满足条件:001 ...
- 南阳oj 士兵杀敌(二) 题目116 NYOJ 数据结构
/*士兵杀敌(二) 时间限制:1000 ms | 内存限制:65535 KB 难度:5 描写叙述 南将军手下有N个士兵.分别编号1到N.这些士兵的杀敌数都是已知的. 小工是南将军手下的军师, ...
- 怎样利用ash监控会话
ash是很有效的监控工具之中的一个.1秒抓一次 select max(sample_time)over(),min(sample_time)over() from dba_hist_active_se ...
- jQuery过滤选择器具体解释
基本过滤选择器 选取第一个元素(:first) //选择第一个div元素. $('#btn1').click(function(){ $('div:first').css("backgrou ...
- BZOJ 1027 JSOI2007 合金 计算几何+Floyd
题目大意:给定一些合金,选择最少的合金,使这些合金能够按比例合成要求的合金 首先这题的想法特别奇异 看这题干怎么会想到计算几何 并且计算几何又怎么会跟Floyd挂边 好强大 首先因为a+b+c=1 所 ...