Comments (9)
Try replacing the comma after '$in'
with a =>
.
$collection->deleteMany(['_id' => ['$in' => [1, 2, 3, 4, 5]]]);
from mongo-php-library.
Sorry, I wrote it like you say actually, comma above is just a typo. So, this is still not working :(
$collection->deleteMany(['_id' => ['$in' => [1, 2, 3, 4, 5]]]);
from mongo-php-library.
I can't reproduce this with the following script:
<?php
require 'vendor/autoload.php';
$collection = (new MongoDB\Client)->test->foo;
$collection->drop();
$result = $collection->insertMany([
['_id' => 1],
['_id' => 2],
['_id' => 3],
['_id' => 4],
['_id' => 5],
]);
printf("Inserted %d documents\n", $result->getInsertedCount());
echo "Dumping documents in collection:\n";
foreach ($collection->find() as $document) {
echo MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($document)), "\n";
}
$result = $collection->deleteMany(['_id' => ['$in' => [1, 2, 4, 5]]]);
printf("Deleted %d documents\n", $result->getDeletedCount());
echo "Dumping documents in collection:\n";
foreach ($collection->find() as $document) {
echo MongoDB\BSON\toJSON(MongoDB\BSON\fromPHP($document)), "\n";
}
Output for me:
$ php foo.php
Inserted 5 documents
Dumping documents in collection:
{ "_id" : 1 }
{ "_id" : 2 }
{ "_id" : 3 }
{ "_id" : 4 }
{ "_id" : 5 }
Deleted 4 documents
Dumping documents in collection:
{ "_id" : 3 }
Have you tried running the same query in the shell and/or inspecting the types of the _id
fields? For querying purposes, the server should consider like numeric values of different types equivalent, so I don't believe there would be any issue if IDs were a mixture of floats and 32- or 64-bit integers; however, it wouldn't hurt to inspect the types in the shell or with bsondump
(and its debug
output format).
from mongo-php-library.
please help me how to delete a record by _id?i do it just like $collection->->deleteOne(['_id'=>'56a5ec134242b50338006ee2']),but it doesn't work.
from mongo-php-library.
@jmikola Yes, this is working. It seems I didn't have some documents within the collection before deletion. I actually this is working as a query, but obviously not. So I have to do find before deleteMany. Thank you very much.
from mongo-php-library.
please help me how to delete a record by _id?i do it just like $collection->->deleteOne(['_id'=>'56a5ec134242b50338006ee2']),but it doesn't work.
@liufee: I assume "56a5ec134242b50338006ee2" in your case corresponds to an ObjectID. In that case, you should be using the MongoDB\BSON\ObjectID class in your criteria, which you can construct from a 24-character, hexadecimal string. The query you were running is attempting to match _id
against a string type and value, which it is not.
In the future, please open a new issue instead of replying onto an existing issue, especially since your question was not a duplicate of the OP's issue.
from mongo-php-library.
got it thank you
from mongo-php-library.
deletemany is not function (ERROR)
rest.deleteMany({'_id': {$in:[ObjectId("5ae4c2aa3bf923ae6cda6a67"),ObjectId("5b068e30b901e0547455fe60"),ObjectId("5b0bd3431f135383c812d0e5")]} }), function (err,doc) {
})
mongod --->db version v4.2.3
from mongo-php-library.
The above comment is a duplicate of #745.
from mongo-php-library.
Related Issues (20)
- PHP+MongoDB: "Return value must be of type MongoDB\Driver\Server, null returned" HOT 3
- Can we drop `jean85/pretty-package-versions:1.2`? HOT 4
- Decision about `mongo-orchestration` folder and `Makefile` HOT 3
- [Documentation] Syntax highlighting in the method reference is not ideal HOT 1
- A never-ending query after upgrade to MongoDB 6.0.3 HOT 6
- Memory leak on updateOne in the loop HOT 1
- Deprecated: Return type of MongoDB\Model\BSONDocument::bsonSerialize() HOT 2
- The StreamWrapper class is currently unusable without the bucket HOT 4
- Performance issue with PHP 8.2 HOT 2
- Extract mongodb-1.6.2.tgz error HOT 1
- MacOs M1 Cannot connect to Atlas After upgrade driver HOT 7
- This is a test
- $unset not properly work on multiple field? HOT 1
- Docs: missing `]` character in database->aggregate documentation HOT 1
- Question about fieldPaths (feature request?) HOT 1
- Non blocking io HOT 1
- $where is not allowed in this context HOT 2
- TLS connection with mongo cluster failed (while single host works) HOT 2
- getting result from mongodb with toArray() HOT 3
- Getting the error in driver version 1.14 HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mongo-php-library.