2016-11-30 74 views
1

我有查询的东西如SQL的查询功能:我如何查询的MongoDB与MID

select * from users where MID(nama,1,2)='A' 

如何做同样在MongoDB中?我无法在文档中找到运营商。

+2

支票** [$ SUBSTR](HTTPS ://docs.mongodb.com/v3.2/reference/operator/aggregation/substr/)** – Yogesh

+0

...和['$ redact'](https:/ /docs.mongodb.com/manual/reference/operator/aggregation/redact/) – styvane

回答

0

尝试以下聚合查询:

db.users.aggregate([{$project: { _id: 0, name: { $substr: [ "$name", 0, 1 ]}}}]) 

这使用了预测和子串: https://docs.mongodb.com/v3.2/reference/operator/aggregation/project/ https://docs.mongodb.com/v3.2/reference/operator/aggregation/substr/

例如:

> db.dropDatabase() 
{ "dropped" : "test", "ok" : 1 } 
> db.users.save({"name": "Kevin"}) 
WriteResult({ "nInserted" : 1 }) 
> db.users.save({"name": "Matt"}) 
WriteResult({ "nInserted" : 1 }) 
> db.users.save({"name": "Sakis"}) 
WriteResult({ "nInserted" : 1 }) 
> db.users.save({"name": "Lee"}) 
WriteResult({ "nInserted" : 1 }) 
> 
> db.users.aggregate([{$project: { _id: 0, name: { $substr: [ "$name", 0, 1 ]}}}]) 
{ "name" : "K" } 
{ "name" : "M" } 
{ "name" : "S" } 
{ "name" : "L" }