初拥Mongodb的一些小问题

一. Mongodb

1. 导出

按条件查询并导出,命令和结果如下:

>mongoexport.exe /db primer /c post /type csv /f count,title,hush,push /o out.csv /q "{push:{$gt:27}}"
2015-08-05T08:57:52.655+0800    connected to: localhost
2015-08-05T08:57:52.669+0800    exported 1 record

需要注意的是,查询条件{push:{$gt:27}}需要使用双引号,网上很多教程都使用了单引号,在运行时会报错,错误信息如下:

2015-08-05T09:01:35.944+0800    error validating settings: query ''{push:{$gt:27
}}'' is not valid JSON: json: cannot unmarshal string into Go value of type map[
string]interface {}
2015-08-05T09:01:35.945+0800    try 'mongoexport --help' for more information

二. 使用Robomongo

Robomongo是一款mongodb的客户端程序,可以方便进行insert、update、delete等操作。

1. 查询

(1) 简单查询

查询实际很简单,双击collection,就会显示所有的记录,同时也会显示出查询命令。
例如我的collection(表)名为“post”,那么默认的命令为:
db.getCollection('post').find({})
如果要进行条件查询,只需要以json格式把查询条件写为find的参数就可以了。
例如:`db.getCollection(‘post’).find({“name”:”Tom”})`

(2)数值查询

如果涉及到数值,有关键字表示“>”、“<”、“>=”、“<=”

关键字代表符号含义
$gtgreat than大于
$ltless than小于
$gtegreat than or equal大于或等于
$lteless than or equal小于或等于

这些关键词也可以出现在同一个条件里, 表示“and”
例如:db.getCollection('post').find({"push":{$gt:27}})

db.getCollection('post').find({"push":{$gt:26,$lt:30}})代表“26<push<30”

(3)日期查询

首先要确定存储的日期格式,在Robomongo中任一日期字段右键-》Edit document,就会显示出字段的格式,一般是“ISODate”。确定格式之后,与数值查询类似,如:

db.getCollection(‘post’).find({“date”:{$lte:new ISODate(“2015-08-04”)}})

2.排序

使用sort({})进行排序,例如.sort({“name”: -1}),是指按照字段name进行降序排序。(1是升序,-1是降序)

3. 建立惟一索引

应用时常会有要求某一字段不能重复的需求,可以通过建立惟一索引来实现。
还是以“post”为例,在Robomongo中,给字段“href”建立惟一索引的命令为:

db.getCollection(‘post’).ensureIndex({‘href’:1},{unique:true})

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值