sql >> Database teknologi >  >> NoSQL >> MongoDB

Kører avancerede MongoDB-forespørgsler i R med rmongodb

Enten c() eller list() kan være ok. Afhænger af om komponenterne er navngivet, og om de alle har samme type (til liste). Den bedste ting at gøre er at se på den genererede BSON og se, om du får det, du ønsker. For den bedste kontrol over det genererede objekt, brug mongo.bson.buffer og de funktioner, der fungerer på det. Det er faktisk derfor, underforespørgslerne fejler. 'kommentarer' bliver oprettet som et underobjekt snarere end et array. mongo.bson.from.list() er praktisk, men det giver dig ikke den samme kontrol, og nogle gange gætter det forkert om, hvad der skal genereres fra komplicerede strukturer.

Forespørgslen på det andet datasæt kan korrigeres således:

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)

Bemærk, at du helt sikkert skal bruge en buffer her, da R vil kvæles i det stiplede navn.

Jeg håber, at dette løser dit problem. Fortæl mig, hvis du har yderligere spørgsmål.



  1. uploader fil til mappe på node-express-websted ved hjælp af multer med mongodb

  2. Aggreger og reducer et indlejret array baseret på et ObjectId

  3. Javers ENTITY_INSTANCE_WITH_NULL_ID ved brug af 2 databaser

  4. Mongoose - Få liste over _id'er i stedet for række af objekter med _id