- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
该集合有一个文档:
{
"_id" : ObjectId("54b513933aca242d9915a787"),
"carriers" : [
{
"carrier" : ObjectId("54b54d223aca242d9915a788"),
"carryingInterval" : {
"from" : ISODate("2013-12-31T23:00:00.000Z"),
"to" : null
}
}
]
}
我想做一个标准,就是找一个特定的载体和范围。carryingInterval 的from 和to 字段可以是Date 对象或null . null 值表示 +/- 无穷大。
我的标准是:
{
carriers: {
$elemMatch: {
carrier: ObjectId('54b54d223aca242d9915a788'),
carryingInterval: {
$or: [
{
from: {$lt: Date()},
to: null
}
]
}
}
}
}
此查询无法运行,并出现以下错误消息:
Can't canonicalize query: BadValue unknown operator: $or
好的,我尝试了其他标准,例如:
{
carriers: {
$elemMatch: {
carrier: ObjectId('54b54d223aca242d9915a788'),
$or: [
{
"carryingInterval.from": {$lt: Date()},
"carryingInterval.to": null
}
]
}
}
}
它运行时没有任何结果,但是文档中的 from 字段小于“现在”。如果我跳过标准中的 from 字段,我就明白了。
在此topic威尔伯克利说
$or should be on the top level
但在我的第二个标准中,$or 运算符不在顶层,它在 $elemMatch 运算符之下,但它有效。
我不明白这种行为。请给我解释一下!谢谢! :)
最佳答案
调用Date()
返回一个字符串,而不是Date
;使用 new Date()
创建当前时间的 Date
对象。
所以你的查询对象需要看起来像这样:
{
carriers: {
$elemMatch: {
carrier: ObjectId('54b54d223aca242d9915a788'),
$or: [
{
"carryingInterval.from": {$lt: new Date()},
"carryingInterval.to": null
}
]
}
}
}
$or
可以在 $elemMatch
中使用,因为它有效地创建了一个关于 carriers
元素的新顶级查询对象.
关于mongodb - mongo BadValue 未知运算符 : $or,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28002055/
发行:。我想在外置显示器(Lenovo Thinkvision E27q-20 27)上添加新的分辨率(2560X1440)。可用的最高分辨率为1920x1080。尝试输出添加的新模式时出错。。采取的
该集合有一个文档: { "_id" : ObjectId("54b513933aca242d9915a787"), "carriers" : [ {
数据如下: { "_id" : { "$oid" : "546b79a2e4b0f7bfbaa97cc7" }, "title" : "Eyewitness: Highlands, S
一些文档包含一个名为 status 的字段,其值为 404。我不想返回这些文件,所以我使用 $not 运算符: query = { "venue_id": venue_id, "sta
我是使用 CakePHP 的 MongoDB 新手。 当我编写以下查询时,它会执行得很好。 db.testData.find() { "_id" : ObjectId("53d1f79db81
我试图在 Java 中为 MongoDB 构建查询,但每次运行查询时都会遇到此错误“无法规范化查询:BadValue 文本表达式过多”。 数据库中充满了具有文本属性的文档,这些文档被索引用于全文搜索。
https://mongodb.github.io/node-mongodb-native/2.1/api/Collection.html#findOne 说明 max 选项将与数字一起使用。 var
我在 2dsphere 上索引了字段 loc,但无法对 Point 类型的 GeoJson 数据运行 geowithin 查询。 这里是查询: db.test.find( { loc :
这在 2.6.1 中发生在我身上 - 所以,如果有人陷入这个错误,我想我会写出答案。 第一个命令运行良好,但第二个却不行。 db.test.find({$text: {$search: 'york'}
晚上好, 我一直忙于 Mongoosejs + Node.js,目前遇到以下错误。 [Login-01][ERROR] MongoError: Can't canonicalize query: Ba
我正在尝试编译并运行此C++代码 #include void displayMe(void) { glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_P
也许这只是我的愚蠢,但我相信这应该有效。 #include #include struct Display { SDL_Window* window; SDL_GLContext co
MongoError:无法规范化查询:BadValue 不支持的投影选项:$inc:{ count:1 } var totalActiveUser = (req, res, next) => { To
我将 Meteor 与 WireTiger 3.2.12 一起使用 我使用 monogdump 制作了转储当我尝试恢复它时,在一些文件上我收到了这个: error: write to oplog fa
我正在使用 MGO 与 mongodb 进行通信。我想在一个集合中搜索,并按搜索分数对结果进行排序。 collection.Find(bson.M{ "$text": bson.M{"$sea
我正在使用以下代码为一些集成测试创建一个假窗口: class CXWindowsClipboardTests { protected: virtual void SetUp()
用户架构 var UserSchema = new Schema({ name: String, username: { type: String, required: true, i
这个查询有什么问题?我试图在 mongodb 服务器上运行它并收到如下错误 - “异常:错误查询:BadValue 未知顶级运算符:$gte”。谁能告诉我这有什么问题吗? db.sco
当我运行 mongo 时,我收到警告: Failed global initialization: BadValue Invalid or no user locale set. Please ens
我构建了一个将推文存储到 MongoDB 中的 Twitter 抓取工具。现在我正在尝试使用 PyMongo 查询数据。 在我的 MongoDB 中存储的数据: { "_id": {
我是一名优秀的程序员,十分优秀!