Kezdőoldal » Számítástechnika » Programozás » Hogyan kell megírni az alábbi...

Hogyan kell megírni az alábbi SQL lekérdezést a MongoDB C driverével?

Figyelt kérdés

SELECT * FROM table WHERE age>24 AND age<36


Hiába olvasom a leírásokat, egyszerűen nem jövök rá, hogy hogyan lehet "nagyobb mint" meg "kisebb mint" lekérdezéseket csinálni. A shell leírásban van ugyan $gt meg $lt parancs, de a C driverben hogyan adok meg ilyet egy BSON objektumnál?


2014. jún. 10. 13:00
 1/3 anonim ***** válasza:

db.table.find({

"age": {

"$gt": 24,

"$lt": 36

}

});

2014. jún. 10. 14:52
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

using namespace bson;

DBClientConnection c;

c.connect("szervered");


auto_ptr<DBClientCursor> cursor = c.query("mydb.users",QUERY("age"<<GT<<24<<LTE<<36));


A QUERY makró gyakorlatilag összefűz egy BSON objektumot neked.

2014. jún. 10. 14:57
Hasznos számodra ez a válasz?
 3/3 A kérdező kommentje:

Köszönöm a segítséget. Sajnos az első az a shell interfész, a második, meg - azt hiszem - a C++ interfész.


Közben találtam egy weboldalt, ami segített:

[link]


Álmomban nem gondoltam volna, hogy az egyenlőség az ilyen:

bson_init( query );

bson_append_int( query, "age", 24 );

bson_finish( query );

mongo_cursor *cursor = mongo_find(&conn, “test.example_collection”, &query, NULL, 0, 0, 0);


A nagyobb mint és kisebb mint meg ilyenné változik:

bson_append_start_object(&query, "age");

bson_append_int(&query, "$gt", 24);

bson_append_int(&query, "$lt", 36);

bson_append_finish_object(&query);

mongo_cursor *cursor = mongo_find(&conn, “test.example_collection”, &query, NULL, 0, 0, 0);

2014. jún. 10. 15:47

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!