2016-11-30 2 views
1

ich Abfrage etwas wie SQL ist wie Abfrage haben:Wie kann ich abfragen mongodb mit MID

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

, wie selbige in mongodb zu tun? Ich kann keinen Operator für wie in der Dokumentation finden.

+2

Scheck ** [$ substr] (https : //docs.mongodb.com/v3.2/reference/operator/aggregation/substr/) ** – Yogesh

+0

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

Antwort

0

Versuchen Sie, die folgende Aggregationsanfrage:

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

Dies nutzt die Projektionen und Teilzeichenfolge: https://docs.mongodb.com/v3.2/reference/operator/aggregation/project/ https://docs.mongodb.com/v3.2/reference/operator/aggregation/substr/

Zum Beispiel:

> 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" }