gpt4 book ai didi

Mongodb $match 和 $isArray

转载 作者:行者123 更新时间:2023-12-04 13:17:03 26 4
gpt4 key购买 nike

对于这个大量数据,我只想匹配数组字段。但我想要$match出项目。

这是数据样本:

/* 1 */
{
"_id" : ObjectId("5df8b596400289966e77e268"),
"fieldIDA" : "1496461ahu-45196tfvj",
"fieldIDB" : "4446rarr21-vau15ar6a"
}

/* 2 */
{
"_id" : ObjectId("5df9ee6014585733585abde6"),
"fieldIDA" : "78a24da5ea-a0a84tf5t",
"fieldIDB" : [
"17a7a61a78-4649atfvj",
"149648a6a1-777777fvj",
"4846131prv-45aeda8vj"
]
}

/* 3 */
{
"_id" : ObjectId("5df9ee6014585733585abde9"),
"fieldIDA" : null,
"fieldIDB" : "7a25rayfg7-t69468a8v"
}

/* 4 */
{
"_id" : ObjectId("5df9ffe714585733585ac5b8"),
"fieldIDA" : [
"4946465434-vuhfyfuog",
"198fdyufu5-4654d43dc",
"aeadad596a-aead82a2a"
],
"fieldIDB" : [
"17a7a61a78-4649atfvj",
"149648a6a1-777777fvj",
"4846131prv-45aeda8vj"
]
}

这是我尝试的,但它返回了 $match 行的语法错误老实说,我在 mongo doc 上尝试了我能想到或看到的所有语法:
> db.getCollection('Test').aggregate([ {
> $project:{
> "item":"$fieldIDA"
> }}
> {$match : { $isArray: {"$item"} }:true}, ])

我知道这是一个简单的请求,但我不知道如何使它起作用。

最佳答案

您可以尝试以下方法之一:

db.Test.find({ "fieldIDA" : { $type: "array" } })

或这个 :
db.Test.aggregate([{$project : {fieldIDA: 1, _id:0}},{$match : { "fieldIDA" : { $type: "array" } }}])

引用: $type

关于Mongodb $match 和 $isArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59410493/

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