gpt4 book ai didi

c# - 查询 documentdb 中的子字段

转载 作者:可可西里 更新时间:2023-11-01 09:32:41 25 4
gpt4 key购买 nike

例如,我在下面有一个文档,用于收集 = 交付:

{
"doc": [
{
"docid": "15",
"deliverynum": "123",
"text": "txxxxxx",
"date": "2019-07-18T12:37:58Z"
},
{
"docid": "16",
"deliverynum": "456",
"text": "txxxxxx",
"date": "2019-07-18T12:37:58Z"
},
{
"docid": "17",
"deliverynum": "999",
"text": "txxxxxx",
"date": "2019-07-18T12:37:58Z"
}
],
"id": "123",
"cancelled": false
}

是否可以使用“deliverynum”= 999 进行搜索并且输出如下所示?

{
"doc": [
{
"docid": "17",
"deliverynum": "999",
"text": "txxxxxx",
"date": "2019-07-18T12:37:58Z"
}
],
"id": "123",
"cancelled": false
}

还是我应该为 Doc 部分制作另一个 Collection?

对于这种情况,我无法在 C# 中进行查询。

最佳答案

在 Mongo shell 中,您可以使用 $(projection)运算符(operator):

db.collection.find({ "doc.deliverynum": "999" }, { "doc.$": 1 })

相应的 C# 代码如下所示:

var q = Builders<Model>.Filter.ElemMatch(x => x.doc, d => d.deliverynum == "999");
var p = Builders<Model>.Projection.ElemMatch(x => x.doc, d => d.deliverynum == "999");

var data = Col.Find(q).Project(p).ToList();

您还可以使用 q = Builders<Model>.Filter.Empty如果您想获取所有文档,即使不包含 deliverynum =``999

关于c# - 查询 documentdb 中的子字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57096251/

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