前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[C# 项目实战]: 制作一个备忘录(经典)

[C# 项目实战]: 制作一个备忘录(经典)

作者头像
用户9127601
发布于 2022-03-23 00:52:56
发布于 2022-03-23 00:52:56
1.7K00
代码可运行
举报
文章被收录于专栏:dotNET编程大全dotNET编程大全
运行总次数:0
代码可运行

01—概述

前几天群里有人问如何制作备忘录,感觉这样一个小实例挺适合新手们入门学习使用,所以就抽空做了出来。界面如下图:

这个备忘录主要包括了如下功能:

① 备忘录信息的增、删、改、查;

② 备忘录时间到了以后进行语音播报。

功能很简单,但是要实现这么一个功能,也涉及众多的知识点,接下来详细进行分解。

02—内容详述

①界面button的图标:

图标图片可以上网上下载,下载好以后放到项目目录中,然后在项目中找到你的图片——>右键包括在项目中——>再右键,点击属性:

复制到输出目录,更改为始终复制。

生成操作,更改为内容。

前台XMAL操作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 <Button Margin="15,5" MinWidth="60" cal:Message.Attach="[Event Click] = [Action SearchClick]" >
                <WrapPanel >
                    <Image Source="/Images/search.png" Width="15" Height="15" />
                    <TextBlock Text="查找" VerticalAlignment="Center" />
                </WrapPanel>
            </Button>

② 数据源:这里我采用从xml读取并绑定到界面,界面如果有修改,在页面退出时进行数据保存,当然你也可以使用数据库去操作

XML文件位置:根目录的RawData下

XML文件数据内容如下:

MemorandumModel数据模型定义:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 public class MemorandumModel 
    {
        public string Title { get; set; }
        public EvenType EvenType { get; set; }
        public DateTime DateTime { get; set; }
        public bool IsComplete { get; set; }
    }

③XML文件的读取和保存:MemorandumRealList是我们所有数据的集合,为了方便界面查询,界面绑定了MemorandumShowList 这个集合

xml读取:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   public void XmlDocReader()
        {
            //XmlDocument读取xml文件
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(XmlDocPath);
            //获取xml根节点
            XmlNode xmlRoot = xmlDoc.DocumentElement;
            if (xmlRoot == null)
                return;
         
            //读取所有的节点
            foreach (XmlNode node in xmlRoot.SelectNodes("MemorandumModel"))
            {
                MemorandumRealList.Add(new MemorandumModel()
                {
                    Title = node.SelectSingleNode("Title").InnerText,
                    EvenType = (EvenType)Enum.Parse(typeof(EvenType), node.SelectSingleNode("EvenType").InnerText),
                    DateTime = Convert.ToDateTime(node.SelectSingleNode("DateTime").InnerText),
                    IsComplete = Convert.ToBoolean(node.SelectSingleNode("IsComplete").InnerText)
                }); 
            }
            MemorandumShowList = new  ObservableCollection<MemorandumModel>(MemorandumRealList);
        }

xml文件保存:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 public void SaveXmlDoc()
        {
            //获取根节点对象
            XDocument document = new XDocument();
            XElement xmlRoot = new XElement("MemorandumModels");

            XElement memorandumModel;
            foreach (var memorandumReal in MemorandumRealList)
            {
                memorandumModel = new XElement($"MemorandumModel");
                memorandumModel.SetElementValue("Title", memorandumReal.Title);
                memorandumModel.SetElementValue("EvenType", memorandumReal.EvenType);
                memorandumModel.SetElementValue("DateTime", memorandumReal.DateTime);
                memorandumModel.SetElementValue("IsComplete", memorandumReal.IsComplete);
                xmlRoot.Add(memorandumModel);
            }
            xmlRoot.Save(XmlDocPath);
        }

④查询:如果全选选中,则显示全部内容,未勾选,则采用link去匹配选中信息去筛选,我这里是所有信息去匹配的,你也可以自己修改下,去只匹配某一项或几项内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 public void SearchClick()
        {
            SaveXmlDoc();
            if (SelectAll)
            {
                MemorandumShowList = new ObservableCollection<MemorandumModel>(MemorandumRealList);
                return;
            }
            MemorandumShowList = new ObservableCollection<MemorandumModel>(
                MemorandumRealList.Where(
                    t => t.EvenType == EvenTypeList[SelectedIndex]
                    ).Where(s => s.IsComplete == IsCompleteStatus
                    ).Where(p => p.Title == TitleText
                     ).Where(x => x.DateTime == DateTime.Parse(DataTimeContext)
                    ) .ToList() );
        }

⑤标题栏未输入内容时显示灰色提示字体,有输入时输入内容显示黑色字体:

这里采用事件处理:获取到光标时

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 public void LostFocus()
        {
            if (string.IsNullOrEmpty(TitleText))
            {
                TitleText = "备忘录标题";
                TitleColor = Color.DimGray;
            }
        }

光标离开时:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    public void GotFocus()
        {
            TitleText = "";
            TitleColor = Color.Black;
        }

⑥选中行删除:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 public void DeleteClick()
        {
            MemorandumRealList.Remove(SelectedItem);
            MemorandumShowList.Remove(SelectedItem);
        }

⑦行号获取:在行选择改变事件中去做

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  public void GridControl_SelectedItemChanged(object sender, SelectedItemChangedEventArgs e)
        {
            GridControl gd = sender as GridControl;
            SelectRow = gd.GetSelectedRowHandles()[0];//选中行的行号
        }

⑧添加信息:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  public void Add()
        {
            MemorandumRealList.Add(new MemorandumModel()
            {
                Title = titleText,
                DateTime =DateTime.Parse(DataTimeContext),
                EvenType = EvenTypeList[SelectedIndex],
                IsComplete = IsCompleteStatus
            });
            MemorandumShowList.Add(new MemorandumModel()
            {
                Title = titleText,
                DateTime = DateTime.Parse(DataTimeContext),
                EvenType = EvenTypeList[SelectedIndex],
                IsComplete = IsCompleteStatus
            });
        }

⑨修改信息:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   public void Modify()
        {
            MemorandumRealList[SelectRow] = new MemorandumModel()
            {
                Title = titleText,
                DateTime = DateTime.Parse(DataTimeContext),
                EvenType = EvenTypeList[SelectedIndex],
                IsComplete = IsCompleteStatus
            };
            MemorandumShowList[SelectRow] = new MemorandumModel()
            {
                Title = titleText,
                DateTime = DateTime.Parse(DataTimeContext),
                EvenType = EvenTypeList[SelectedIndex],
                IsComplete = IsCompleteStatus
            };
        }

⑩定时器查询:采用using System.Threading.Tasks;下的单线程定时器DispatcherTimer,

定义和初始化:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 private DispatcherTimer timer;
 
             timer = new DispatcherTimer();
            timer.Interval = TimeSpan.FromMinutes(1);
            timer.Tick += timer1_Tick;
            timer.Start();

定时器事件:我这里每隔一分钟查询一次,查询到当前事件到了提醒时间就进行一次语音播报:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 private void timer1_Tick(object sender, EventArgs e)
        {
            foreach (var memorandum in MemorandumRealList)
            {
                if(DateTime.Now >= memorandum.DateTime)
                {
                    SpeakAsync(memorandum.Title);
                }
            }
        }

⑩①:语音播报:这里开了task线程执行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   /// <summary>
        /// 微软语音识别
        /// </summary>
        /// <param name="content">提示内容</param>
        public static void SpeakAsync(string content)
        {
            try
            {
                Task.Run(() =>
                {
                    SpVoice voice = new SpVoice();
                    voice.Rate = 1;//速率[-10,10]
                    voice.Volume = 10;//音量[0,100]
                    voice.Voice = voice.GetVoices().Item(0);//语音库
                    voice.Speak(content);
                });

            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

⑩② 界面时间处理:

  • 界面的表格采用的dev控件gridcontrol,默认情况下,时间只显示年月日,如果需要显示时分,需要设定:EditSettings如下
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   <dxg:GridColumn  Header="提醒时间" FieldName="DateTime" MinWidth="120" >
                    <dxg:GridColumn.EditSettings>
                        <!--<xctk:DateEditSettings DisplayFormat="dd-MM-yyyy HH:mm:ss.fff"/>-->
                        <xctk:DateEditSettings DisplayFormat="yyyy-MM-dd HH:mm"/>
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>

如果使用的是wpf 自带的表格控件datagrid,相对好处理

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 <DataGridTextColumn Header="提醒时间" Binding="{Binding Path=DateTime,StringFormat='yyyy年MM月dd日 HH:mm:ss'}" MinWidth="300" />

界面顶端的时间控件采用:toolkit下的xctk1:DateTimeUpDown这个控件

DateTime = Convert.ToDateTime(DataTimeContext)

⑩③combobox枚举内容绑定:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 public ObservableCollection<EvenType> EvenTypeList { get; set; } = new ObservableCollection<EvenType>();
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制

            foreach (EvenType evenType in Enum.GetValues(typeof(EvenType)))
            {
                EvenTypeList.Add(evenType);
            }

⑩④关于gridcontrol TableView 的常用属性介绍

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
TableView 的常用属性:

AllowPerPixelScrolling //逐像素滚动;
AllowScrollAnimation //滚动动画,当下拉滚动条时有动画效果
NavigationStyle //选中方式是一行还是单元格
ShowIndicator //是否在每一行之前显示小方块
UseEvenRowBackground //隔行其背景颜色会有所区分
AllowScrollToFocusedRow //允许滚动到选中行
AllowResizing //允许调整尺寸
AllowSorting //允许排序
AutoWidth //允许自动调整列宽
AllowMoveColumnToDropArea //允许将一列拖到空白处进行分组
AllowGrouping //允许分组
AllowFilterEditor //允许显示过滤盘
AllowEditing //允许编辑
ShowGroupPanel//显示分组panel
ShowHorizontalLines   ShowVerticalLines //显示表格中每行每列垂直和水平线
IsColumnMenuEnabled //是否关闭右键列菜单

03—前台代码

直接上代码,比较简单,不展开讲解了:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<UserControl
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:Caliburn.Micro.Hello"
              xmlns:cal="http://www.caliburnproject.org" 
              xmlns:sys="clr-namespace:System;assembly=mscorlib"
             xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid" xmlns:xctk="http://schemas.devexpress.com/winfx/2008/xaml/editors" xmlns:xctk1="http://schemas.xceed.com/wpf/xaml/toolkit" x:Class="Caliburn.Micro.Hello.MemorandumView" 
             mc:Ignorable="d" 
             d:DesignHeight="450" d:DesignWidth="800" >
    <UserControl.Resources>
        <local:FontColorConverter x:Key="FontColorConverter" />
        <Style TargetType="{x:Type TextBox}">
            <Setter Property="HorizontalContentAlignment" Value="Left"/>
            <Setter Property="VerticalContentAlignment" Value="Center"/>
            <Setter Property="Width" Value="100"/>
</Style>
        <Style TargetType="{x:Type CheckBox}">
            <Setter Property="HorizontalAlignment" Value="Center"/>
            <Setter Property="VerticalAlignment" Value="Center"/>
            <Setter Property="Foreground" Value="Black"/>
</Style>
        <Style TargetType="Button">
            <Setter Property="Foreground" Value="Black"/>
</Style>
        <DataTemplate x:Key="rowIndicatorContentTemplate">
            <StackPanel VerticalAlignment="Stretch"
                        HorizontalAlignment="Stretch">
                <TextBlock Text="{Binding RowHandle.Value}"
                           TextAlignment="Center" 
                           Foreground="Black"/>
            </StackPanel>
        </DataTemplate>
    </UserControl.Resources>
    <StackPanel Orientation="Vertical">
        <StackPanel Orientation="Horizontal">
            <TextBox Text="{Binding TitleText}"  Margin="15,5" 
                     cal:Message.Attach="[Event GotFocus] = [Action GotFocus];[Event LostFocus] = [Action LostFocus]" 
                     Foreground="{Binding TitleColor, Converter={StaticResource FontColorConverter}}"/>
            <ComboBox ItemsSource="{Binding EvenTypeList}" Margin="15,5"  SelectedIndex="{Binding SelectedIndex}" MinWidth="100" Foreground="Black"/>
            <!--<DatePicker Text="{Binding DataTimeContext,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
                        SelectedDate="{x:Static sys:DateTime.Now}" 
                        HorizontalAlignment="Left" VerticalAlignment="Center" Margin="15,5"  />-->
            <xctk1:DateTimeUpDown x:Name="_minimum"  Format="Custom" FormatString="yyyy/MM/dd HH:mm" 
                                  Text="{Binding DataTimeContext}" 
                                   HorizontalAlignment="Left" VerticalAlignment="Center"
                                  Value="2016/01/01T12:00"  Margin="15,5"/>

            <CheckBox IsChecked="{Binding IsCompleteStatus}" Margin="15,5" Content="是否完成" Foreground="Black"/>
            <Button Margin="15,5" MinWidth="60" cal:Message.Attach="[Event Click] = [Action SearchClick]" >
                <WrapPanel >
                    <Image Source="/Images/search.png" Width="15" Height="15" />
                    <TextBlock Text="查找" VerticalAlignment="Center" />
                </WrapPanel>
            </Button>
        </StackPanel>
        <Border BorderBrush="LightBlue" CornerRadius="2" BorderThickness="2" >
        <dxg:GridControl AutoGenerateColumns="AddNew" EnableSmartColumnsGeneration="True"  AllowLiveDataShaping="True" 
                         cal:Message.Attach="[Event SelectedItemChanged] = [Action GridControl_SelectedItemChanged($source,$event)];" 
                         ItemsSource="{Binding MemorandumShowList}" SelectedItem="{Binding SelectedItem}" 
                         Height="330" Foreground="Black">
            <dxg:GridControl.View>
                <dxg:TableView ShowTotalSummary="True" AllowMoveColumnToDropArea="False" 
                               AllowGrouping="False" AutoExpandOnDrag="False" 
                               ShowDragDropHint="False" ShowGroupPanel="False" 
                               AllowColumnMoving="False" AllowResizing="False" Foreground="Black"
                               RowIndicatorContentTemplate="{StaticResource rowIndicatorContentTemplate}" />
            </dxg:GridControl.View>
                <dxg:GridColumn  Header="标题" FieldName="Title"   MinWidth="100"/>
                <dxg:GridColumn  Header="类型" FieldName="EvenType"  MinWidth="100"/>
                <dxg:GridColumn  Header="提醒时间" FieldName="DateTime" MinWidth="120" >
                    <dxg:GridColumn.EditSettings>
                        <!--<xctk:DateEditSettings DisplayFormat="dd-MM-yyyy HH:mm:ss.fff"/>-->
                        <xctk:DateEditSettings DisplayFormat="yyyy-MM-dd HH:mm"/>
                    </dxg:GridColumn.EditSettings>
                </dxg:GridColumn>
                <dxg:GridColumn  Header="状态" FieldName="IsComplete"  MinWidth="100"/>
        </dxg:GridControl>
        </Border>
        <StackPanel Orientation="Horizontal">
            <CheckBox IsChecked="{Binding SelectAll}" Margin="35,5" Content="全选"/>
            <Button Margin="35,5" MinWidth="60" cal:Message.Attach="[Event Click] = [Action DeleteClick]" >
                <WrapPanel >
                    <Image Source="/Images/delete.png" Width="15" Height="15" />
                    <TextBlock Text="删除" VerticalAlignment="Center" />
                </WrapPanel>
            </Button>
            <Button Margin="35,5" MinWidth="60" Name="Add">
                <WrapPanel >
                    <Image Source="/Images/add.png" Width="15" Height="15" />
                    <TextBlock Text="添加" VerticalAlignment="Center" />
                </WrapPanel>
            </Button>
            <Button Margin="35,5" MinWidth="60" Name="Modify">
                <WrapPanel >
                    <Image Source="/Images/modify.png" Width="15" Height="15"/>
                    <TextBlock Text="修改" VerticalAlignment="Center" />
                </WrapPanel>
            </Button>
        </StackPanel>
    </StackPanel>
</UserControl>

04—效果演示

05—源码

源码下载

链接:https://pan.baidu.com/s/1yExT_zXFfd6TiAJYoD8kIw

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 dotNET编程大全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
MongoDB系列---入门安装操作
  在 Linux 平台的 MongoDB 为解压版。我们只要解压 tgz 文件就可以使用。
Arebirth
2019/11/03
5790
超硬核的MongoDB基础讲解。《记得收藏,不然看着看着就找不到了》
目前我们常用的MS SQL数据库、ACCESS数据库、MongoDB、My SQL数据库等等。 之前我讲过My SQL数据库,有兴趣的朋友可以去看看。今天我们主要讲讲MongoDB。
苏州程序大白
2021/08/13
8310
超硬核的MongoDB基础讲解。《记得收藏,不然看着看着就找不到了》
MongoDB 入门学习
分布式计算系统中的一个重要的优点是可靠性。一台服务器的系统崩溃并不影响到其余的服务器。
叉叉敌
2021/12/06
3320
MongoDB 入门学习
MongoDB 学习笔记1 - MongoDB介绍和安装
MongoDB是一个文档型数据库,它将数据存储在类似json的文档中。这是一种处理数据的最自然的方式,比传统的行/列模型的数据库更有表现力和更强大。
张云飞Vir
2020/04/09
8090
java架构之路-(NoSql专题)MongoDB快速上手
  NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。在现代的计算系统上每天网络上都会产生庞大的数据量。这些数据有很大一部分是由关系数据库管理系统(RDBMS)来处理。 1970年 E.F.Codd's提出的关系模型的论文 "A relational model of data for large shared data banks",这使得数据建模和应用程序编程更加简单。通过应用实践证明,关系模型是非常适合于客户服务器编程,远远超出预期的利益,今天它是结构化数据存储在网络和商务应用的主导技术。NoSQL 是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。
小菜的不能再菜
2019/11/12
4500
java架构之路-(NoSql专题)MongoDB快速上手
初试MongoDB数据库
特征: 使用键值(Key Value)储存数据; MongoDB的逻辑结构是一种层次结构,主要由:文档(document)、集合(collection)、数据库(database)这三部分组成的。
九旬
2020/10/23
1.4K0
初试MongoDB数据库
一文搞定 mongodb(学习笔记)
打开环境变量中的path,选择path双击,打开后点击“新建”,把bin目录的路径粘贴进去(我的是:E:\mongoDB\bin)
微客鸟窝
2022/04/08
5180
一文搞定 mongodb(学习笔记)
MongoDB基础
MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。在nosql数据库里,大部分的查询都是键值对(key、value)的方式。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中最像关系数据库的。其特征NoSQL、文档存储、Json数据模型、支持事务。
KaliArch
2018/05/30
1.7K2
MongoDB基础
NoSQL与MongoDB简介
互联网的迅速发展,这样大量的交互给数据库提出了更高的性能要求,传统的关系数据库虽然具备良好的事物管理,但在处理大量数据的应用时很难在性能上满足设计要求。NoSQL就是主要为了解决当下大量高并发高要求的数据库应用需求,由于关系数据库具有严格的参照性,一致性,可用性,原子性,隔离性等特点,因此会产生一些例如表连接等操作,这样会大大降低系统的性能。而在当前很多应用场景下对性能的要求远远强于传统数据库关注的点,NoSQL 就是为了解决大规模数据与多样数据种类等问题,尤其是中大数据的相关问题。
越陌度阡
2020/11/26
5000
用Python操作MongoDB,看这一篇就够了
MongoDB 是一个基于分布式存储的数据库,由 C++ 语言编写的NoSQL非关系数据库。非关系型数据库NoSQL,即Not Only SQL,意即“不仅仅是SQL”,通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定。
吾非同
2021/06/01
2.6K0
用Python操作MongoDB,看这一篇就够了
搭建高可用mongodb集群(一)——配置mongodb
在大数据的时代,传统的关系型数据库要能更高的服务必须要解决高并发读写、海量数据高效存储、高可扩展性和高可用性这些难题。不过就是因为这些问题Nosql诞生了。
九州暮云
2019/08/21
9200
搭建高可用mongodb集群(一)——配置mongodb
NodeJS+Express+MongoDB
张果
2018/01/04
3.6K0
NodeJS+Express+MongoDB
mongodb官网下载不了, MongoDB下载、安装、配置、使用,如何下载MongoDB数据库,MongoDB入门[通俗易懂]
MongoDB 将数据存储在灵活的json文档中,这意味着可以直接得到从文档到文档的数据、结构等。
全栈程序员站长
2022/07/25
7.6K0
mongodb官网下载不了, MongoDB下载、安装、配置、使用,如何下载MongoDB数据库,MongoDB入门[通俗易懂]
mongoDB的安装及基本使用
mongoDB简介 1、NoSQL数据库 数据库:进行高效的、有规则的进行数据持久化存储的软件 NoSQL数据库:Not only sql,指代非关系型数据库 优点:高可扩展性、分布式计算、低成本、灵活架构、半结构化数据、简化关联关系 缺点:没有标准化、有限查询、不直观 常见NoSQL(http://www.runoob.com/mongodb/nosql.html)数据库 列存储:Hbase、Cassandra、Hypertable 文档存储:MongoDB、CouchDB k-v存储:TokyoC
用户1332428
2018/03/08
1.7K0
mongoDB的安装及基本使用
MongoDB
传统的关系型数据库(如MySQL),在数据操作的“三高”需求以及应对Web2.0的网站需求面前,显得力不从心 解释:“三高”需求:
JokerDJ
2023/11/27
2880
MongoDB
MongoDB安装说明以及MongoVUE使用
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
书童小二
2018/09/03
6680
MongoDB安装说明以及MongoVUE使用
Nodejs学习笔记(十)--- 与MongoDB的交互(mongodb/node-mongodb-native)、MongoDB入门
简介   MongoDB   开源,高性能的NoSQL数据库;支持索引、集群、复制和故障转移、各种语言的驱动程序;高伸缩性;   NoSQL毕竟还处于发展阶段,也有说它的各种问题的:http://coolshell.cn/articles/5826.html     官网地址:http://www.mongodb.org/   API Docs:http://docs.mongodb.org/manual/   node-mongodb-native   mongodb的nodejs驱动;   GitHu
Porschev
2018/03/28
1.1K0
Nodejs学习笔记(十)--- 与MongoDB的交互(mongodb/node-mongodb-native)、MongoDB入门
CentOS 7下MongoDB 3.6 的安装及基本操作
1.MongoDB是一款跨平台、面向文档的数据库,可以实现高性能,高可用性,并且能够轻松扩展。MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。 在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB可以为Web应用提供可扩展的高性能数据存储解决方案。
星哥玩云
2022/08/17
1.1K0
CentOS 7下MongoDB 3.6 的安装及基本操作
MongoDB的安装与配置
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
itlemon
2020/04/03
1.6K0
win10 MongoDB 服务自启动及数据导出
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/j_bleach/article/details/73717873
j_bleach
2019/07/02
8090
win10 MongoDB 服务自启动及数据导出
推荐阅读
相关推荐
MongoDB系列---入门安装操作
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档