У меня есть вид в Couchbase, который я использую для извлечения моих данных. Упрощенный, мое ведро данных содержит:Couchbase - получить doc, если значение ключа пуст (то есть имеет длину 0)
{
"id" : 123,
"key" : "some value"
},
{
"id" : 456,
"key" : ""
}
...
, и я хочу, чтобы получить все документы, где «ключ» присутствует, но его значение пусто.
Если я использую представление, как это:
function (doc, meta) {
if(doc.key)
emit([doc.id], doc);
}
я оба JSONs выше, если использовать представление, как это:
function (doc, meta) {
if(doc.key && doc.key == "")
emit([doc.id], doc);
}
я не получаю ни один из них. Я хочу получить json с id = 456. Каков правильный синтаксис?
короткие и смешные видео о WAT эффекты в javascript и ruby :) https://www.destroyallsoftware.com/talks/wat – avsej
Спасибо, это сработало. (Я все еще не понимаю, почему мне нужно использовать 'if (doc.key ===" ")' вместо 'if (doc.key && doc.key ===" ")'. есть json без этого 'key'?). – ocramot
Вы можете сравнить с 'undefined'. Подобно 'var doc = {x:" "}; doc.y == undefined' возвращает 'true', а' doc.x == undefined' дает вам 'false' – avsej