Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removing by ID #12

Open
callumacrae opened this issue Jun 11, 2011 · 4 comments
Open

Removing by ID #12

callumacrae opened this issue Jun 11, 2011 · 4 comments
Assignees

Comments

@callumacrae
Copy link

...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?

@ghost ghost assigned artktec Jun 14, 2011
@amark
Copy link
Owner

amark commented Jun 14, 2011

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
Copy link
Author

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
Copy link
Owner

amark commented Jun 14, 2011

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
Copy link
Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants