简单的的增删改查数据
在查询结果中指定显示或者不显示某个字段
例如,我们希望在 lessons 集合中查找所有数据,但是不希望在返回结果中包含 slides 字段;因为 slides 是一个巨长的以 base64 表示的图片数组,影响查询结果的阅读。
那么我们就可以在 query object 后面跟上一个参数。如下:
复制代码 代码如下:
db.lessons.find({}, {slides:0});
同样也可以明确指定显示哪些字段:
复制代码 代码如下:
db.bios.find(
{ },
{ name: 1, contribs: 1, _id: 0 }
)
比较操作 – 大于和小于
我们要查询时间范围在 startTime 和 endTime 间的数据记录,同时要求 Content 内容是数字 1 到 5。
复制代码 代码如下:
db.wemessages.find( {$and: [
{ CreateTime: {$gt: (startTime.getTime()/1000).toString()} },
{ CreateTime: {$lt: (endTime.getTime()/1000).toString()} },
{ Content: {$in: ['1','2','3','4','5']} }
]}
);
这里我们使用了 $and 逻辑操作符,和 $gt, $lt, $in 比较操作符。
有关 MongoDB 的操作符,参见:http://docs.mongodb.org/manual/reference/operator/query/
更新一条记录的某些属性
使用 $set 表示只更新指定的字段,而不修改其他字段,我们一般情况下都会是这种意图。
复制代码 代码如下:
db.lessons.update({}, {$set:{'course_id':'c.101'}});
更新多条记录
使用 {multi: true}
复制代码 代码如下:
db.lessons.update({}, {$set:{'course_id':'c.101'}}, {multi: true});
db.muusers.update({username: 'tom'}, {$set: {mobile: '6508639713'}}, {multi: true});
排序查询结果
使用 sort 方法
复制代码 代码如下:
db.muusers.find().sort({firsttime: -1});
-1 降序,1 升序
清爽地查看查询结果
使用 pretty 方法
复制代码 代码如下:
db.lessons.find({lesson: 1}, {slides: 0, mp3voice:0, wavvoice:0, wavvoicemin: 0}).pretty();
查看不存在某个字段的记录
使用 $exists
复制代码 代码如下:
db.questions.find({'sequence_id': 1, 'pngslide': {$exists: false}});
db.mycollection.find( { "price" : { "$exists" : false } } )
限定查询结果个数 limit, 以及跳过开始的多少条记录 skip
使用 limit 和 skip
复制代码 代码如下:
db.translation_memory.find({mp3voice: {$exists: false}}, null, {limit: 100});
删除 collection 中的所有内容
使用 collection 的 remove 方法
复制代码 代码如下:
db.collection.remove();
得到 collection 中一个字段的长度
链式调用
复制代码 代码如下:
db.lessons.find({lesson: 1}).toArray()[0].slides.join('').length
Collection 操作
更名 collection
使用 renameCollection 方法
复制代码 代码如下:
db.quizzes.renameCollection('questions');
删除一个字段
使用 $unset
复制代码 代码如下:
db.questions.update({}, {$unset: {quiz_name:1}}, {multi: true});
db.learning_progress.update({}, {$unset: {lesson:1}}, {multi: true});
db.lessons.update({}, {$unset: {wavvoice:1, wavvoicemin:1}}, {multi: true});
修改一个字段的名称
使用 $rename
复制代码 代码如下:
db.students.update( { _id: 1 }, { $rename: { 'nickname': 'alias', 'cell': 'mobile' } } )
注意:有些MongoDB的关键词不能用做Collection的名称,例如:group。
以上所述就是本文的全部内容了,希望大家能够喜欢。
MongoDB,常用命令
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。