关于MongoDb的简单入门

在下载完成mongodb后,要在环境变量中加入 "目录\mongodb\bin"

打开cmd窗口 
--开启mongodb服务
mongod -dbpath "D:\mongodb\db"

--注册服务
mongod -dbpath "D:\mongodb\db" -logpath "D:\mongodb\log\mongodb.log" -install -serviceName "MongoDB"

--启动服务
net start MongoDB;

--查看帮助
db.help();

--创建库(库名为:zyh)
use zyh;

--查看当前库下的集合
show collections;

mongodb中没有表 只有集合
--创建集合
    1.直接向集合中添加数据,如果该集合不存在,则会自动创建 (集合名为:yc)
        db.yc.insert({"_id":1001,"name":"yc"});

        此时使用命令show collections会发现有两个集合:
            system.indexes; 索引集合
            yc;
            
    2.db.createCollection("navy");    

--删除集合
db.yc.drop();

--删除记录(文档)
db.collection_name.remove({条件});
db.yc.remove({"_id":{"$ne":1001}});  //$ne:不等于 $lt:小于  $gt:大于  $lte:小于等于  $gte:大于等于    
    
--向集合中添加多条记录
db.yc.insert([{"_id":1002,"name":"天天","sex":"男"},{"_id":1003,"name":"当当","sex":"女"}]);
        
--查看集合中的数据(.limit为分页)
db.yc.find();


数据类型:
    null: {"x":null}
    boolean:   {"x":true}
    数值:  {"x":3.14}  {"x":3}  NumberInt("3")  NumberLong("3")
    字符串: {"x":"hello"}
    日期: {"x":new Date()}
    正则表达式: {"x":/hello/ig}
    数组:{"x":[1,2,3]}
    内嵌文档:{"x":{"foo":{bar}}}
    对象id:{"x":ObjectId()}
    二进制:
    代码:{"x":function(){}}
    
--如果存在,则修改,如果不存在,则添加。
db.yc.save({"_id":1004,"name":"navy1"});

--修改
db.yc.update({条件},{要修改的数据});
db.yc.update({"_id":1002},{"name":"scott1","sex":"F"})

db.yc.insert({"_id":1001,"url":"www.hyycinfo.com","pageViews":1});
db.yc.insert({"_id":1002,"company":"yc","url":"www.hyycinfo.com","pageViews":1});

--修改器
    $inc 增加对应的值
    db.yc.update({"_id":1001},{"$inc":{"pageViews":1}}); --将_id为1001的文档中的pageViews键的值增加1
    
    $set 
    db.yc.update({"_id":1002},{"name":"scott1","sex":"F"})
    db.yc.update({"_id":1002},{"$set":{"name":"scott1","sex":"F"}})
    
    --将company变成一个数组
    db.yc.update({"_id":1002},{"$set":{"company":["yc","nh","navy"]}})
    
    --删除键 
    db.yc.update({"_id":1002},{"$unset":{"company":1}}) --删除记录1002中的company键

--数组修改器
    $push  向数组中添加值,可能会出现重复的值
        db.yc.update({"_id":1002},{"$push":{"company":"sc"}}); 
    
    $each
        db.yc.update({"_id":1002},{"$push":{"company":{"$each":["hg","rc","jm"]}}});
    
    $slice 指定最大的长度,它的值必须是负数,表示保留最后的n个值
        db.yc.update({"_id":1002},{"$push":{"company":{"$each":["yc1","yc2","yc"],"$slice":-10}}});
    
    $pop 从数组中删除一个元素  key:1 从数据的末尾开始   key:-1从头部开始
        db.yc.update({"_id":1002},{"$pop":{"company":1}})
        
    $pull从数组中删除匹配的值
        db.yc.update({"_id":1002},{"$pull":{"company":"sc"}})
    
db.yc.insert({
    "_id":1005,
    "content":"今天吃的怎么样?",
    "comments":[
        {"comment":"好","count":0},
        {"comment":"很好","count":0},
        {"comment":"非常好","count":0}
    ]
})

--通过数组下标访问
db.yc.update({"_id":1004},{"$inc":{"comments.1.count":1}});
    
db.yc.update({"comments.comment":"好"},{"$inc":{"comments.$.count":1}})
db.yc.update({"comments.comment":"很好"},{"$set":{"comments.$.comment":"很很好"}})

--MongoDB默认每次只修改一个文档,如果需要修改所有满足条件的记录,则需在后面添加条件{multi:true}
db.yc.update({"comments.comment":"好"},{"$inc":{"comments.$.count":1}},{multi:true})
db.yc.update({"comments.comment":"好"},{"$inc":{"comments.$.count":1}},false,true)

--删除
db.yc.remove({条件});

--查询
db.yc.find();    --查询所有记录
db.yc.findOne();        --查询第一条记录
db.yc.find({"_id":1001});    --where key=val
db.yc.find({"_id":{"$gt":1001}}); --where key>val

--$in  表示在某个值内
db.yc.find({"_id":{"$in":[1001,1002,1003]}});

--$or  或
db.yc.find({"$or":[{"_id":1001},{"name":"zyh"}]});

--and or
db.yc.find({"sex":"男","$or":[{"_id":1001},{"name":"zyh"}]});

--------------------------------------------------------------------------
for(i=0;i<10;i++){
    db.yc.insert({"x":i});
}

var cursor=db.yc.find();
var obj:
while(cursor.hasNext()){
    obj=cursor.next();
    print(obj);
}

var cursor=db.yc.find();
cursor.forEach(function(x){
    print(x);
});


--分页查询
db.yc.find().limit(3);    --前三条
db.yc.find().limit(3).skip(3);    --跳过前三条,查接下来三条

--排序
db.yc.find().sort({"_id":-1});    --1为升序 -1为降序
db.yc.find().sort({"_id":-1,"name":1});
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
应用背景为变电站电力巡检,基于YOLO v4算法模型对常见电力巡检目标进行检测,并充分利用Ascend310提供的DVPP等硬件支持能力来完成流媒体的传输、处理等任务,并对系统性能做出一定的优化。.zip深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值