Comments (4)
Thanks for the report. Could you provide the parameters given to the MongoCollection::update
call? Normally the update method checks the first operator in the $newObj
parameter to see if it's an update operator (e.g. starts with a '$' sign). If so, it is considered an update and triggers a call to updateOne
or udpateMany
, in other cases it calls replaceOne
on the underlying connection. Not sure where it goes wrong.
from mongo-php-adapter.
Created a failing unit test in this PR #102
below are the params for the update call
array:1 [
"_id" => MongoId {#16031
-objectID: MongoDB\BSON\ObjectID {#16032}
}
]
array:52 [
"allowCredits" => true
"attributeValueImageMap" => []
"buyWithMeMode" => "i"
...
]
array:2 [
"upsert" => true
"w" => 1
]
from mongo-php-adapter.
After some investigation I've found this is an issue either in the MongoDB driver or MongoDB itself. The problem is with the product reference:
'product' => [
'type' => 'simple',
'$ref' => 'products',
'$id' => new \MongoId(),
],
Once the type
field is moved to the bottom of the array this works:
'product' => [
'$ref' => 'products',
'$id' => new \MongoId(),
'type' => 'simple',
],
I've reported this in mongo-php-library to have the MongoDB team investigate the behavior as this error only occurs in replace operations, not in update operations.
from mongo-php-adapter.
@ccovey according to this comment the issue seems to occur due to a malformed DBRef object. Can you confirm this and close the ticket if this is the case? Thanks!
from mongo-php-adapter.
Related Issues (20)
- install mango php adapter with composer and use php.ini ? HOT 1
- support for NO_MAX_STALENESS and SMALLEST_MAX_STALENESS_SECONDS for readPreference HOT 2
- Receiving Notice: Undefined index: ok
- MongoDate conversion to DateTime fails in ambiguous edge case HOT 1
- No such command: 'group' HOT 1
- $collection->save Doesn't work on sharded collection (since 4.2) HOT 8
- DateTimeInterface converted to BSON in php 7.4 as empty BSONDocument
- Whether the latest version of Ext-mongodb is supported HOT 5
- Data returned in incorrect format HOT 1
- ns field deprecated HOT 1
- Issue with types after upgrading to PHP 7.4 HOT 1
- PHP 8.1.0, a class which implements Serializable deprecated HOT 2
- Need MongoDB 5.0 support HOT 3
- PHP 8.1 Support HOT 1
- PHP 8.2 compatibility HOT 1
- MongoClient readPreferenceTags options parameter HOT 2
- MongoDB\generate_index_name method doesn't exist. HOT 1
- Version 1.2.4 introduces regression HOT 1
- PHP 8.2 Error TypeConverter and MongoId HOT 1
- PHP Version Support HOT 1
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-adapter.