hyzqb 发表于 2016-12-2 08:59:10

Mongo shell 函数详解

> db.language.find({status:1})
{ "_id" : 1, "name" : "java", "status" : 1, "tags" : [ "jsp", "servlet", "groovy" ] }
{ "_id" : 2, "name" : "db", "status" : 1, "tags" : [ "mysql", "mongo" ] }
{ "_id" : 3, "name" : ".net", "status" : 1, "tags" : [ "asp" ] }
{ "_id" : 5, "name" : "ruby", "status" : NumberLong(1) }
{ "_id" : 4, "name" : "javascript", "status" : 1, "tags" : [ ] }
>
 
> db.language.find({status:{$type:1}})
{ "_id" : 4, "name" : "javascript", "status" : 1, "tags" : [ ] }

 
> db.language.find({status:{$type:16}})
{ "_id" : 1, "name" : "java", "status" : 1, "tags" : [ "jsp", "servlet", "groovy" ] }
{ "_id" : 2, "name" : "db", "status" : 1, "tags" : [ "mysql", "mongo" ] }
{ "_id" : 3, "name" : ".net", "status" : 1, "tags" : [ "asp" ] }

 
> db.language.find({status:{$type:18}})
{ "_id" : 5, "name" : "ruby", "status" : NumberLong(1) }
>
 
> db.language.find({"name":{$type:2}})
{ "_id" : 1, "name" : "java", "status" : 1, "tags" : [ "jsp", "servlet", "groovy" ] }
{ "_id" : 2, "name" : "db", "status" : 1, "tags" : [ "mysql", "mongo" ] }
{ "_id" : 3, "name" : ".net", "status" : 1, "tags" : [ "asp" ] }
{ "_id" : 5, "name" : "ruby", "status" : NumberLong(1) }
{ "_id" : 4, "name" : "javascript", "status" : 1, "tags" : [ ] }

 
  > db.language.update({},{$set:{status:NumberInt(1)}},false,true)
  > db.language.find({status:{$type:1}})
  > db.language.find({status:{$type:16}})
  { "_id" : 1, "name" : "java", "status" : 1, "tags" : [ "jsp", "servlet", "groovy" ] }
  { "_id" : 2, "name" : "db", "status" : 1, "tags" : [ "mysql", "mongo" ] }
  { "_id" : 3, "name" : ".net", "status" : 1, "tags" : [ "asp" ] }
  { "_id" : 5, "name" : "ruby", "status" : 1 }
  { "_id" : 4, "name" : "javascript", "status" : 1, "tags" : [ ] }
  > db.language.find({status:{$type:18}})
  >
   
  命令行下数字会被转成Double类型,如果需要整型,使用NumberLong或NumberInt
 
mongo官方介绍
http://docs.mongodb.org/manual/reference/operator/query/type/
页: [1]
查看完整版本: Mongo shell 函数详解