Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

Removing by ID #12

Open
callumacrae opened this Issue · 4 comments

3 participants

@callumacrae

...doesn't seem to be working. I definitely have the ID correct - I set it to be an integer - but the following code fails to remove it:

db.remove({'_id': id});

Where the variable "id" is simply the ID. Any ideas?

@artktec artktec was assigned
@amark
Owner

Hmm, I just tested this myself, you are right.
I know that MongoDB has some special "_ID" BSON object or something strange.
So I am guessing what happens is... when the ID is read out by node - it isn't the "object" ID that Mongo knows.
So then when node passes it back up, MongoDB doesn't recognize it.

I also noticed that "_id" is an object itself, which has 'id' inside of it. {_id:{id:''}} which might be a problem (neither deleted it though).
Also, my console shows ASCII escape codes like '\u00f6' - idk if this is a problem.

I assigned this problem to the guy who contributed the remove function. Idk if he is active / around.
I really dislike the whole '_id' thing, and I don't understand properly how Mongo deals with ID objects, so I can't resolve this off the top of my head (I wish I could).
If the artktec guy doesn't comment sometime soon - comment again to remind me of this problem.
I doubt I will have time to dig in and investigate it and figure it out and patch it anytime soon.

But it is definitely something that needs to be fixed.
It would be awesome if you yourself could figure it out, and then we can merge it.

Elsewise, I just recommend (if possible) you figure out what objects to delete based off of your own attributes/properties or adding your own ID attribute. - I know that works.

@callumacrae

I worked out here I was going wrong:

db.scripts.save({_id:1010});
db.scripts.remove({_id:'1010'});

They've got to be exactly the same type.

What would be handy, is a remove all function - at the moment I'm having to use _id $neq -1. I'll see if I can patch it in myself.

@amark
Owner

I take it that is via console, not via mongous?
Eh, yeah. Strings/numbers - it can kill you.

Remove all would be cool. Bah, I'm sorry. Yeah, it'd be great if you could. Thanks for the reply.

@callumacrae

Nah, var db = Mongous('api.scripts'); :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.