Hogyan kell megírni az alábbi SQL lekérdezést a MongoDB C driverével?
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?
db.table.find({
"age": {
"$gt": 24,
"$lt": 36
}
});
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.
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:
Á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);
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!