问题:
有个数据如下,要删除interests里面的第二项 interests.1
{
"_id" : ObjectId("4d1cb5de451600000000497a"),
"name" : "dannie",
"interests" : [
"guitar",
"programming",
"gadgets",
"reading"
]
}
现行方式是替换js数组,再把新数组插进去。
var interests = db.people.findOne({"name":"dannie"}).interests;
interests.splice(2,1)
db.people.update({"name":"dannie"}, {"$set" : {"interests" : interests}});
这个方式可行,但是很笨。
Mongo貌似不提供db.example.update({_id:1}, { $remove : { 'sequence.1' : 1 }})这种方式
主要是因为Arrary又index所以,还有排序问题。
这是个opened issue 可阅读https://jira.mongodb.org/browse/SERVER-1014
分享到:
相关推荐
$collection->remove(array('name' => 'John'), array('justOne' => true)); // 删除一个匹配的文档 ``` 此外,文档还会详细讲解如何处理索引、聚合操作、分片、复制集等高级特性,以及如何进行错误处理和性能优化...
$mongo = new Mongo("mongodb://username:password@192.168.1.22:12345", array('connect' => false)); $mongo->connect(); ``` `Mongo`类提供了几个有用的方法,如`listDBs()`用于获取MongoDB服务器上所有数据库的...
$mongo = new Mongo("mongodb://username:password@192.168.1.22:12345", array('connect' => false)); $mongo->connect(); ``` 2. **获取数据库信息** - `Mongo::listDBs()`方法用于获取服务器上所有数据库的...
$collection->remove(array('_id' => $some_id)); ``` MongoDB PHP驱动还提供了丰富的API,可以处理更复杂的查询、聚合、索引等操作。同时,它支持MongoDB的多种特性,如GridFS(用于存储大型文件)、地理空间索引...
使用 MongoDB 删除文档可以使用 remove 命令。 3.5 MongoDB 更新文档 使用 MongoDB 更新文档可以使用 update 命令。 3.6 MongoDB 查询文档 使用 MongoDB 查询文档可以使用 find 命令。 3.7 MongoDB 条件操作符 ...
在这个例子中,`remove()`方法接受两个参数:一个是查询条件(在本例中是`array("title" => "MongoDB Tutorial")`),另一个是可选的布尔值,决定是否只删除一个匹配的文档(默认为`true`,即删除所有匹配的文档;...
$collection->remove(array('name'=>'caleng'), array("justOne" => true)); ``` 查找数据,可以使用 `findOne()` 查找单条记录,或者 `find()` 获取多条记录: ```php // 查找一条数据 $result = $collection->...
- `find($collection, $query = array(), $fields = array())`:查询集合数据,`$query`是查询条件,`$fields`指定返回的字段。 - `findOne($collection, $query = array(), $fields = array())`:类似于`find`,...
$conn = new MongoClient("mongodb://admin_miss:miss@localhost:27017/test", array('persist' => 'p', "replicaSet" => true)); ``` 2. 选择数据库与集合 连接到MongoDB后,我们可以选择要操作的数据库和集合(在...
这将连接到指定IP地址和端口的MongoDB服务器。默认端口为27017。如果没有指定数据库名称,将连接到服务器的默认数据库。 选择数据库: ```php $db = $connection->dbname; ``` 这将选择名为`dbname`的数据库。如果...
特性:Comparisons Operators ($gt, $gte, $lt, $lte, $ne, $nin, $in)Logical Operators ($and, $or, $nor, $not)Evaluation Operators ($regex, $mod, $where)Array Operators ($all, $elemMatch, $size)Element ...
MongoDB 是一种流行的开源、非关系型数据库管理系统,它以高效、可扩展性和灵活的数据模型而受到许多开发者的青睐。PHP 是一种广泛使用的脚本语言,尤其在Web开发领域,PHP与MongoDB的结合提供了强大的数据处理能力...
- 如果只想删除一条记录,可以添加一个选项数组,如:`$mongo->remove("ttt", array("title"=>"bbb"), array("justOne"=>1));` 8. **获取错误信息**: `getError`方法用于获取最近一次MongoDB操作的错误信息,...
例如,`db.collection.update({"uid": "some_id"}, {"$push": {"array_field": "new_element"}})` 会在 `array_field` 数组中添加 `new_element`,而 `db.collection.update({"uid": "some_id"}, {"$pop": {"array_...
- `$collection->remove(array('name'=>'hm'));`:删除集合中所有"name"字段为"hm"的文档。 6. 注意事项: 在使用MongoDB时,应该注意数据的安全性,合理配置用户权限和认证机制,确保只有授权的用户或应用可以访问...
update方法允许指定匹配的条件,并且可以使用MongoDB的更新操作符如'$set'来指定需要更新的字段: ```php $newdata=array('$set'=>array("email"=>"***")); $collection->update(array("name"=>"caleng"),$newdata);...
$collection->remove(array("name" => "John Doe")); ``` 此外,php_mongo还支持聚合框架、索引管理、复制集监控等多种高级功能,使得开发者能够充分利用MongoDB的特性。 总之,php_mongo-1.3.0扩展为PHP开发者...