MongoDB 与 RDBMS Where 语句比较
如果你熟悉常规的 SQL 数据,通过下表可以更好的理解 MongoDB 的条件语句查询:
操作
|
格式
|
范例
|
RDBMS中的类似语句
|
等于
|
{<key>:<value>
}
|
db.col.find({"by":"curry"}).pretty()
|
where by = 'curry'
|
小于
|
{<key>:{$lt:<value>}}
|
db.col.find({"likes":{$lt:50}}).pretty()
|
where likes < 50
|
小于或等于
|
{<key>:{$lte:<value>}}
|
db.col.find({"likes":{$lte:50}}).pretty()
|
where likes <= 50
|
大于
|
{<key>:{$gt:<value>}}
|
db.col.find({"likes":{$gt:50}}).pretty()
|
where likes > 50
|
大于或等于
|
{<key>:{$gte:<value>}}
|
db.col.find({"likes":{$gte:50}}).pretty()
|
where likes >= 50
|
不等于
|
{<key>:{$ne:<value>}}
|
db.col.find({"likes":{$ne:50}}).pretty()
|
where likes != 50
|
但是当查询的条件字段是UUID 时该如何编写查询语句呢?
比如查询contentId = "79dc5d7e-80a7-428b-a9d8-cf0be676120d"
其实很简单,只需要使用UUID函数包裹一层
db.getCollection('eca').find({"contentId":UUID("79dc5d7e-80a7-428b-a9d8-cf0be676120d")})
MongoDB 与 RDBMS Where 语句比较如果你熟悉常规的 SQL 数据,通过下表可以更好的理解 MongoDB 的条件语句查询:操作 格式 范例 RDBMS中的类似语句 等于 {<key>:<value>} db.col.find({"by":"curry"}).pretty() where by = 'curry' 小于 {<key>:{$lt:<value>}} db.col.fi
objectid是12字节组成,四个成分timestamp+machash+pid+inc
默认
mongodb
collection内的_id是唯一的。客户插入文档时依赖driver自动生成的_id能否保证唯一呢?
自动objectid的唯一性
自动生成并不是
mongo
daemon生成的,而是driver生成的。
目前没有发现使用服务端生成objectid的,从实验看出
mongo
shell和ja...
MongoDB
UUID
支持配置
mongodb
支持
UUID
但是不同的开发语言,
UUID
不一样,可以在客户端(Robo
Mongo
)里设置Legacy
UUID
格式
例如:Robo
Mongo
》 Options 》Legacy
UUID
Encoding 》选择Java还是C#还是Python
参考链接:这里讲解了
MongoDB
对不同语言的
UUID
的支持...