我有一个应用程序,目前正在使用Mongo DB。我希望将应用程序移到Azure并尝试使用Cosmos DB。我将代码中的C#Mongo DB驱动程序升级到了最新的2.7.0,并且仍然使用Mongo DB运行良好。
public virtual T GetById(TKey id)
{
if (typeof(T).IsSubclassOf(typeof(EntityBase)))
{
return GetById(new ObjectId(id as string));
}
//code removed for brevity
}
public virtual T GetById(ObjectId id)
{
var filter = Builders<T>.Filter.Eq("_id", id);
var result = collection.FindSync<T>(filter).FirstOrDefault();
return result;
}
{
"_id" : ObjectId("5b97a56b6381fecd00f0e10a"),
"LastUpdatedOn" : [
NumberLong(636722473812102569),
-240
],
"CreatedOn" : [
NumberLong(636722473396922518),
-240
],
"LastUpdatedBy" : "SYSTEM",
"CreatedBy" : "TestUser",
"VersionNumber" : 3,
"Name" : "Audi",
{
"_id": "5b97a56b6381fecd00f0e10a",
"LastUpdatedOn": [
636722473812102500,
-240
],
"CreatedOn": [
636722473396922500,
-240
],
"LastUpdatedBy": "SYSTEM",
"CreatedBy": "TestUser",
"VersionNumber": 3,
"Name": "Audi",
它不能工作的原因可能是Id丢失了对象(“”)吗?我试图更新Azure Cosmos DB集合来添加这一点,但它给出了一个错误,表示值预期,好像我没有指定正确的JSON格式。
从文档的CosmosDB模拟器表示形式来看,似乎需要更改GetById方法,以使用字符串
而不是Objectid
。
像这样的事情应该会奏效:
public virtual T GetById(TKey id)
{
if (typeof(T).IsSubclassOf(typeof(EntityBase)))
{
return GetById(id as string);
}
//code removed for brevity
}
public virtual T GetById(string id)
{
var filter = Builders<T>.Filter.Eq("_id", id);
var result = collection.FindSync<T>(filter).FirstOrDefault();
return result;
}
我正在使用ApacheLucene5.0。0并在使用QueryParser时遇到问题。我试图创建一个查询,但得到一个ParseException。 以下是我的代码: 这是我得到的例外: 如果有帮助,我已经包含了以下jar文件: lucene-analyzers-common-5.0.0.jar lucene-core-5.0.0.jar lucene-queries-5.0.0.jar lucen
我的查询没有使用参数对我的帖子进行排序。 一点背景: 我在foreach语句中,该语句循环遍历“category”id的自定义分类法。在该foreach语句中,我试图调用一个新的WP_查询,从该foreach循环的每个“类别”获取帖子。我的args数组如下所示: 和都是此post\u类型中我的自定义分类中的数组。 和根本不起作用,我想不出原因。
我正在尝试将最近的搜索添加到工具栏上的SearchView: 编辑: btn_search项目:
我试图更新一个列,我没有修改列值,你能帮我吗? 我正在尝试的代码:- 这就是我得到的错误:
但结果是一样的。 这是我的.hbm.xml文件中的内容: 对于用户: 我做错了什么?如果查询参数不是“简单”类型,我需要做一些特殊的事情吗?
我变得非常困惑,我试图通过laravels query builder运行一个应该可以工作的查询,但它会抛出奇怪的错误。