`

MongoDB remove 指定Arrary项问题

阅读更多
问题:
有个数据如下,要删除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
分享到:
评论

相关推荐

    PHP操作MONGODB详细文档 WORD版

    $collection->remove(array('name' => 'John'), array('justOne' => true)); // 删除一个匹配的文档 ``` 此外,文档还会详细讲解如何处理索引、聚合操作、分片、复制集等高级特性,以及如何进行错误处理和性能优化...

    php操作MongoDB使用说明

    $mongo = new Mongo("mongodb://username:password@192.168.1.22:12345", array('connect' => false)); $mongo->connect(); ``` `Mongo`类提供了几个有用的方法,如`listDBs()`用于获取MongoDB服务器上所有数据库的...

    php操作mongodb详解

    $mongo = new Mongo("mongodb://username:password@192.168.1.22:12345", array('connect' => false)); $mongo->connect(); ``` 2. **获取数据库信息** - `Mongo::listDBs()`方法用于获取服务器上所有数据库的...

    mongoDB PHP驱动,windows

    $collection->remove(array('_id' => $some_id)); ``` MongoDB PHP驱动还提供了丰富的API,可以处理更复杂的查询、聚合、索引等操作。同时,它支持MongoDB的多种特性,如GridFS(用于存储大型文件)、地理空间索引...

    MongoDB数据库应用说明

    使用 MongoDB 删除文档可以使用 remove 命令。 3.5 MongoDB 更新文档 使用 MongoDB 更新文档可以使用 update 命令。 3.6 MongoDB 查询文档 使用 MongoDB 查询文档可以使用 find 命令。 3.7 MongoDB 条件操作符 ...

    MongoDB PHP删除文档.pdf

    在这个例子中,`remove()`方法接受两个参数:一个是查询条件(在本例中是`array("title" => "MongoDB Tutorial")`),另一个是可选的布尔值,决定是否只删除一个匹配的文档(默认为`true`,即删除所有匹配的文档;...

    php对mongodb的扩展(小试牛刀)

    $collection->remove(array('name'=>'caleng'), array("justOne" => true)); ``` 查找数据,可以使用 `findOne()` 查找单条记录,或者 `find()` 获取多条记录: ```php // 查找一条数据 $result = $collection->...

    PHP操作Mongodb封装类完整实例

    - `find($collection, $query = array(), $fields = array())`:查询集合数据,`$query`是查询条件,`$fields`指定返回的字段。 - `findOne($collection, $query = array(), $fields = array())`:类似于`find`,...

    PHP操作MongoDB 数据库总结记录

    $conn = new MongoClient("mongodb://admin_miss:miss@localhost:27017/test", array('persist' => 'p', "replicaSet" => true)); ``` 2. 选择数据库与集合 连接到MongoDB后,我们可以选择要操作的数据库和集合(在...

    PHP中MongoDB数据库的连接、添加、修改、查询、删除等操作实例

    这将连接到指定IP地址和端口的MongoDB服务器。默认端口为27017。如果没有指定数据库名称,将连接到服务器的默认数据库。 选择数据库: ```php $db = $connection->dbname; ``` 这将选择名为`dbname`的数据库。如果...

    MongoDB查询的JavaScript实现Mingo.zip

    特性: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实现简单的增删改查

    MongoDB 是一种流行的开源、非关系型数据库管理系统,它以高效、可扩展性和灵活的数据模型而受到许多开发者的青睐。PHP 是一种广泛使用的脚本语言,尤其在Web开发领域,PHP与MongoDB的结合提供了强大的数据处理能力...

    PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】

    - 如果只想删除一条记录,可以添加一个选项数组,如:`$mongo->remove("ttt", array("title"=>"bbb"), array("justOne"=>1));` 8. **获取错误信息**: `getError`方法用于获取最近一次MongoDB操作的错误信息,...

    mongodb 修改器($inc/$set/$unset/$push/$pop/upsert)

    例如,`db.collection.update({"uid": "some_id"}, {"$push": {"array_field": "new_element"}})` 会在 `array_field` 数组中添加 `new_element`,而 `db.collection.update({"uid": "some_id"}, {"$pop": {"array_...

    PHP连接MongoDB示例代码

    - `$collection->remove(array('name'=>'hm'));`:删除集合中所有"name"字段为"hm"的文档。 6. 注意事项: 在使用MongoDB时,应该注意数据的安全性,合理配置用户权限和认证机制,确保只有授权的用户或应用可以访问...

    php操作MongoDB基础教程(连接、新增、修改、删除、查询)

    update方法允许指定匹配的条件,并且可以使用MongoDB的更新操作符如'$set'来指定需要更新的字段: ```php $newdata=array('$set'=>array("email"=>"***")); $collection->update(array("name"=>"caleng"),$newdata);...

    php_mongo-1.3.0

    $collection->remove(array("name" => "John Doe")); ``` 此外,php_mongo还支持聚合框架、索引管理、复制集监控等多种高级功能,使得开发者能够充分利用MongoDB的特性。 总之,php_mongo-1.3.0扩展为PHP开发者...

Global site tag (gtag.js) - Google Analytics