gpt4 book ai didi

php - MongoDB、数组存储和对象查询

转载 作者:可可西里 更新时间:2023-11-01 10:44:05 26 4
gpt4 key购买 nike

我是 MongoDb 的新手,我做了一个简单的 PHP 过滤应用程序(类似于 TAGS)

我有一个名为“过滤器”的集合

在其中,每条记录如下所示:

    "_id" : ObjectId("5274da3e040b61fa15000001"),
"activation" : 1,
"and_or" : "",
"description" : "",
"id" : 13,
"order_id" : 2,
"slug" : [
"apple",
"orange",
"banana"
],
"title" : "Sample"

我从 PHP 表单中获取这些值并将它们像记录一样插入。

问题是当我尝试从 slug 中删除 "orange" 时,数组会中断并变成对象

"slug" : {
"0" : "apple",
"2" : "banana"
},

我不能再像这样查询它,因为它返回 NULL

db.filters.find({slug: "apple"})

null

我假设当数组的索引在数值上正确时,(1, 2, 3, 4) 然后 Mongo 将把它识别为一个数组,否则它会将它存储为一个对象,因为使用了自定义索引。

不幸的是,我无法更改数组的索引,因为它们在其他文档中有链接。

有什么想法吗?谢谢!

最佳答案

您得到的是空值,因为您可能正在使用 php 中的 remove 方法删除该文档。相反,您需要将 slug 更新为仅以 apple 作为其元素的数组

db.collection.update($array);

关于php - MongoDB、数组存储和对象查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20118168/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com