sql >> Database >  >> NoSQL >> MongoDB

Geavanceerde MongoDB-query's uitvoeren in R met rmongodb

Ofwel c() of list() kan in orde zijn. Hangt ervan af of de componenten een naam hebben en of ze allemaal hetzelfde type hebben (voor lijst). Het beste is om naar de gegenereerde BSON te kijken en te kijken of je krijgt wat je wilt. Gebruik mongo.bson.buffer en de functies die erop werken voor de beste controle over het gegenereerde object. In feite is dit de reden waarom de subquery's mislukken. 'comments' wordt gemaakt als een subobject in plaats van een array. mongo.bson.from.list() is handig, maar het geeft je niet dezelfde controle en soms raadt het verkeerd over wat te genereren uit gecompliceerde structuren.

De query op de andere set gegevens kan echter als volgt worden gecorrigeerd:

buf <- mongo.bson.buffer.create()
mongo.bson.buffer.start.object(buf, "name.first")
mongo.bson.buffer.append(buf, "$in", c("Alex", "Horst"))
mongo.bson.buffer.finish.object(buf)
criteria <- mongo.bson.from.buffer(buf)

Merk op dat je hier zeker een buffer moet gebruiken, omdat R zal stikken in de gestippelde naam.

Ik hoop dat dit je probleem oplost. Laat het me weten als je nog vragen hebt.



  1. SQLite op Android en MongoDB met synchronisatie

  2. Splits een tekenreeks door een teken in Lua

  3. Hoe MongoDB geneste $elemMatch Query in C# te implementeren

  4. PyMongo max_time_ms