$push 修饰符:用于往数组中追加元素

 db.workmates.update({name:'xiaowang'},{$push:{interseta:"PHP"}}) 
 
$ne 修饰符:如果 选择字段的值不等于给定的值或者该字段不存在
selects the documents where the value of the field is not equal to the specified value. This includes documents that do not contain the field.
> db.c1.find()
{ "_id" : ObjectId("4fb4af85afa87dc1bed94330"), "age" : 7, "length_1" : 30 }
{ "_id" : ObjectId("4fb4af89afa87dc1bed94331"), "age" : 8, "length_1" : 30 }
{ "_id" : ObjectId("4fb4af8cafa87dc1bed94332"), "age" : 6, "length_1" : 30 } // 查询age 的值不等于7 的数据
> db.c1.find( { age : { $ne : 7 } } );
{ "_id" : ObjectId("4fb4af89afa87dc1bed94331"), "age" : 8, "length_1" : 30 }
{ "_id" : ObjectId("4fb4af8cafa87dc1bed94332"), "age" : 6, "length_1" : 30 }

 $addToSet 修饰符:向数组中添加一个值,如果该值存在,则不进行任何操作。

The $addToSet operator adds a value to an array unless the value is already present, in which case $addToSet does nothing to that array.

> db.c1.find()
{ _id: 1, letters: ["a", "b"] } // 执行$addToSet
db.c1.update({_id:1},{$addToSet:{
letters:"c"
}})

$each 修饰符:向数组中批量添加值

可以结合$addToSet 和 $push 使用

db.students.update(
{ name: "joe" },
{ $push: { scores: { $each: [ 90, 92, 85 ] } } }
)
 
数组定位修改
修改数组索引为2的值为"code"
db.workmates.update({name:'xiaowang'},{$set:{"interset.2":"code"}})

runCommand

您可以使用 MongoDatabase.runCommand() 方法运行所有原始数据库操作,并返回执行结果

findAndModify

修改并返回单个文档,如果需要返回修改后的,需要指定new 为true

var myModify = {
findAndModify: "workmates",
query: { name: "xiaowang" },
update:{$set:{age:10}},
new:true, //返回修改后的值
fields:{name:true,age:true} // 需要返回的值
}; var result = db.runCommand(myModify);

查询操作

// 虚拟的文档数据:
var db = connect("company");
function WorkMate(name, age, skill) {
this.name = name;
this.age = age;
this.skill = skill;
} var nameList = ["慎", "嘉文四世", "赵信", "德莱厄斯", "易", "贾克斯"];
var ageList = [20, 30, 40, 33, 22, 55];
var skillList = [
["奥义!暮临", "奥义!魂佑", "奥义!影缚", "秘奥义!慈悲度魂落"],
["巨龙撞击", "黄金圣盾", "德玛西亚军旗", "天崩地裂"],
["三重爪击", "狂战怒吼", "无畏冲锋", "新月横扫"],
["大杀四方", "致残打击", "无情铁手", "诺克萨斯断头台"],
["阿尔法突袭", "冥想", "无极剑道", "高原血统"],
["跳斩", "蓄力一击", "反击风暴", "宗师之威"],
]; var start = 6;
var heros = []
while (start-- > 0) {
heros.push(
new WorkMate(nameList[start],ageList[start],skillList[start])
)
} db.heros.insert(heros); print('INSERT SUCCESS');
// 查询操作

var db = connect("company");

// 精确查询
db.heros.find({
name:'贾克斯'
}); // 查询年龄大于30 小于等于50的 db.heros.find({
age:{$gt:30,$lte:50}
}) // 查询年龄不等于33的
db.heros.find({
age:{$ne:33},
}) // 查询名称不等于赵信的
db.heros.find({
name:{$ne:"赵信"},
},{
name:1
}) // 从查询结果取出自己需要的字段
db.heros.find({
name:'贾克斯'
},{
name:1,
age:1,
_id:0
});

Mongodb入门2的更多相关文章

  1. MongoDB 入门之基础 DCL

    此文章主要记录部分主要的 MongoDB 的 DCL 操作. MongoDB 默认不需要用户名和密码就可以用 mongodb.exe 登录 一.开启 MonogoDB 的权限模式 修改 MongoDB ...

  2. MongoDB入门三:MongoDB shell

    MongoDB shell MongDB shell是一个功能完备的Javascript解释器,可以运行Javascript程序.也可以用于连接MongoDB服务器,执行脚本,对数据库进行操作.类似于 ...

  3. MongoDB 入门之查询(find)

    MongoDB 入门之查询(find) 1. find 简介 (1)find的第一个参数决定了要返回哪些文档. 空的查询文档会匹配集合的全部内容.默认就是{}.结果将批量返回集合c中的所有文档. db ...

  4. MongoDB入门简介

    MongoDB入门简介 http://blog.csdn.net/lolinzhang/article/details/4353699 有关于MongoDB的资料现在较少,且大多为英文网站,以上内容大 ...

  5. mongodb入门教程二

    title: mongodb入门教程二 date: 2016-04-07 10:33:02 tags: --- 上一篇文章说了mongodb最基本的东西,这边博文就在深入一点,说一下mongo的一些高 ...

  6. mongodb入门教程

    title: mongodb入门教程 date: 2016-04-06 14:47:18 tags: --- 为什么要认识呢,因为这玩意就一傻逼 借用一下百科的介绍 MongoDB 是一个介于关系数据 ...

  7. MongoDb 入门教程

    MongoDb 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 它是可扩展的高性能数据存储解决方案,经常被用于非关系型数据的存储,能存储海量的数据. 常 ...

  8. MongoDB入门必读(概念与实战并重)

    MongoDB入门必读(概念与实战并重) 一.概述 MongoDB是一个基于分布式文件存储的数据库开源项目.由C++语言编写.旨在为WEB应用提供可护展的高性能数据存储解决方案. MongoDB是一个 ...

  9. mongodb入门很简单(3)

     ##简单的mongodb入门命令## 1.show dbs;      //查看当前数据库 2.use databaseName;         //选库 3.show tables/collec ...

  10. MongoDB入门实践

    MongoDB入门实践 简单介绍MongoDB,包括MongoDB的使用场景.和MySQL的对比.安装部署.Java客户端访问及总结 MongoDB? 我们遵循需求驱动技术的原则,通过一个场景来引入M ...

随机推荐

  1. LabVIEW之项目文件结构透析

    代码的管理非常重要,LabVIEW本身自带很多代码管理工具.下面来剖析一个相对标准的小项目:

  2. 【JavaScript】js中的浅拷贝与深拷贝与手写实现

    前言 什么是深拷贝与浅拷贝?深拷贝与浅拷贝是js中处理对象或数据复制操作的两种方式.‌在聊深浅拷贝之前咱得了解一下js中的两种数据类型: 基本数据类型(6种) String.Number.Object ...

  3. [oeasy]python0141_自制模块_module_reusability_复用性

    自制包内容 回忆上次内容 上次导入了外部的py文件 import my_module 导入一个自己定义的模块   可以使用my_module中的变量 不能 直接使用 my_module.py文件中的变 ...

  4. QT 的 ModelView

    QApplication a(argc, argv); QDirModel model;    //QDirModel,   问文件目录树 QTreeView tree;    QListView l ...

  5. 彻底搞懂python super函数的作用

    super() 的入门使用 在类的继承中,如果重定义某个方法,该方法会覆盖父类的同名方法,但有时,我们希望能同时实现父类的功能,这时,我们就需要调用父类的方法了. 调用父类同名方法有两种方式: 1.调 ...

  6. android常用布局基础学习

    总结:可水平放置可垂直放置也可穿插使用,默认为水平 <!--我在第一次使用权重的时候忽视了本线性布局中的宽度与高度,如果要使用权重,请将线性布局的最初大小设置为match_parent,否则不会 ...

  7. 假期小结3Hadoop学习

    学习Hadoop是一个很好的选择,因为它是大数据处理和分析领域最流行的框架之一.Hadoop提供了可靠.可扩展的分布式数据处理能力,适用于处理大规模数据和构建可靠的数据管道. 在学习Hadoop时,以 ...

  8. scratch编程作品-《滚动的物理小球》

    程序说明: <滚动的物理小球>是一款基于Scratch平台开发的小游戏.在这个游戏中,玩家通过按左右方向键来控制一个小球在屏幕上的左右移动.小球在移动过程中,完全遵循物理引擎的规则,如加速 ...

  9. RPA美团外卖商家中心批量发送消息

    美团外卖商家中心批量发送消息,首先我们需要确定给谁发,发送什么内容 给谁发:可以传入美团用户名.美团订单号.美团将通过此条件进行搜索进入会话框 发送什么内容:批量发送信息给不同的用户,比如给不同的订单 ...

  10. 光刻机巨头ASML公布了其最新的品牌短片《站在巨人的肩膀上》

    光刻机巨头ASML公布了其最新的品牌短片<站在巨人的肩膀上>: 荷兰光刻机:ASML使用AI工具midjourney和runway制作宣传片 这个时长1分50秒短片的特别地方在于,它是完全 ...